In [1]:
from lets_plot import *
from lets_plot.mapping import *

LetsPlot.setup_html() 
In [2]:
import pandas as pd

mpg_df = pd.read_csv ("https://raw.githubusercontent.com/JetBrains/lets-plot-docs/master/data/mpg.csv")
mpg_df.head()
Out[2]:
Unnamed: 0 manufacturer model displ year cyl trans drv cty hwy fl class
0 1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
1 2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
2 3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
3 4 audi a4 2.0 2008 4 auto(av) f 21 30 p compact
4 5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
In [3]:
tooltip_content = (layer_tooltips()
                       .title('@{class}')
                       .line('count|@{..count..} (@{..prop..})')
                       .line('total|@{..sum..}')
                       .format('..count..', 'd')
                       .format('..sum..', 'd')
                       .format('..prop..', '.0%'))


ggplot(mpg_df) + \
    geom_bar(aes(as_discrete('manufacturer', order=1), fill='class'), tooltips=tooltip_content) + \
    scale_fill_brewer(palette='Dark2') + \
    ggsize(800, 450)
Out[3]:
In [4]:
ggplot(mpg_df) + \
    geom_pie(aes(fill='class', size = '..sum..'),
             tooltips=tooltip_content) + \
    scale_fill_brewer(palette='Dark2') + \
    facet_wrap(facets='manufacturer', ncol=5)  + \
    scale_size(range=[4, 10]) + \
    guides(size='none') + \
    theme(line=element_blank(), axis=element_blank()) 
Out[4]:
In [5]:
ggplot(mpg_df) + \
    geom_pie(aes(fill=as_discrete('class', order_by='..count..'), size = '..sum..'), 
             size=24, hole=0.2, stroke=1.0,
             tooltips=layer_tooltips()
                       .title('@{class}')
                       .line('Count|@{..count..}')
                       .line('Percent|@{..proppct..}')
                       .line('Total|@{..sum..}')
                       .format('..count..', 'd')
                       .format('..proppct..', 'd')) + \
    scale_fill_brewer(palette='Dark2') + \
    theme(line=element_blank(), axis=element_blank()) 
Out[5]: