Repro from issue

In [1]:
from lets_plot import *
LetsPlot.setup_html()

df = {
    'x': [0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4],
    'y': [0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 4],
}
ggplot(data=df, mapping=aes(x='x', y='y')) \
    + geom_point() \
    + ggmarginal("tr", size=0.5, layer=geom_density()) \
    + coord_fixed() \
    + ggsize(600, 800) 
Out[1]:

Other cases

In [2]:
thm = theme(
        panel_background=element_rect(fill='pink'),
        plot_background=element_rect(fill='cyan')
    )

def plots(polar=False):
    df = {
        'x': [0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 4],
        'y': [0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 4],
    }
    insets = theme(panel_inset=[0, 50])
    extreme = theme(panel_inset=[0, 250])
    mar = ggmarginal('ltrb', layer=geom_density(), size=0.3)
    vert = ggsize(400, 800)
    fixed = coord_fixed()
    p = ggplot(df, aes(x='x', y='y')) \
        + geom_point() \
        + ggsize(800, 400) \
        + thm 

    if polar:
        p += coord_polar()
        fixed = coord_polar(transform_bkgr=False)


    p_fixed = p + fixed + ggtitle('fixed')
    p_insets = p + insets + ggtitle('insets')
    p_fixed_insets = p + fixed + insets + ggtitle('fixed + insets')
    p_vert = p + vert + ggtitle('vert')
    p_vert_fixed = p + vert + fixed + ggtitle('vert + fixed')
    p_vert_insets = p + vert + insets + ggtitle('vert + insets')
    p_vert_fixed_insets = p + vert + fixed + insets + ggtitle('vert + fixed + insets')
    

    p_mar = p + mar + ggtitle('mar')
    p_mar_fixed = p + mar + fixed + ggtitle(' mar + fixed')
    p_mar_insets = p + mar + insets + ggtitle('mar + insets')
    p_mar_fixed_insets = p + mar + fixed + insets + ggtitle('mar + fixed + insets')

    
    p_mar_vert = p + mar + vert + ggtitle('mar + vert')
    p_mar_vert_fixed = p + mar + vert + fixed + ggtitle('mar + vert + fixed')
    p_mar_vert_insets = p + mar + vert + insets + ggtitle('mar + vert + insets')
    p_mar_vert_fixed_insets = p + mar + vert + fixed + insets + ggtitle('mar + vert + fixed + insets')

    p_extreme = p + extreme + ggtitle('exrteme_insets')
    p_fixed_extreme = p + fixed + extreme + ggtitle('fixed + extreme')
    p_vert_extreme = p + vert + extreme + ggtitle('vert + extreme')
    p_vert_fixed_extreme = p + vert + fixed + extreme + ggtitle('vert + fixed + extreme')

    p_mar_extreme = p + mar + extreme + ggtitle('exrteme_insets')
    p_mar_fixed_extreme = p + mar + fixed + extreme + ggtitle('fixed + extreme')
    p_mar_vert_extreme = p + mar + vert + extreme + ggtitle('vert + extreme')
    p_mar_vert_fixed_extreme = p + mar + vert + fixed + extreme + ggtitle('vert + fixed + extreme')

    
    
    return [
        p, p_fixed, p_insets, p_fixed_insets,
        p_vert, p_vert_fixed, p_vert_insets, p_vert_fixed_insets,
        p_mar, p_mar_fixed, p_mar_insets, p_mar_fixed_insets,
        p_mar_vert, p_mar_vert_fixed, p_mar_vert_insets, p_mar_vert_fixed_insets,
        p_extreme, p_fixed_extreme, p_vert_extreme, p_vert_fixed_extreme,
        p_mar_extreme, p_mar_fixed_extreme, p_mar_vert_extreme, p_mar_vert_fixed_extreme
    ]

for plot in plots(polar=True):
    plot.show()
In [3]:
for plot in plots(polar=False):
    plot.show()