In [1]:
import pandas as pd
from lets_plot import *
In [2]:
LetsPlot.setup_html()
In [3]:
mpg_df = pd.read_csv('https://raw.githubusercontent.com/JetBrains/lets-plot-docs/master/data/mpg.csv')
mpg_df.head(3)

class_df = mpg_df.groupby('class').hwy.agg(['min', 'median', 'max', 'count']).reset_index()
class_df.head(3)
Out[3]:
class min median max count
0 2seater 23 25.0 26 5
1 compact 23 27.0 44 47
2 midsize 23 27.0 32 41
In [4]:
gggrid([
    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', y='median', ymax='max')),
    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', y='median', ymax='max'), tooltips=layer_tooltips().disable_splitting()),

    ggplot(class_df, aes(y='class')) + geom_crossbar(aes(xmin='min', x='median', xmax='max')),
    ggplot(class_df, aes(y='class')) + geom_crossbar(aes(xmin='min', x='median', xmax='max'), tooltips=layer_tooltips().disable_splitting()),

    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', y='median', ymax='max')) + coord_flip(),
    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', y='median', ymax='max'), tooltips=layer_tooltips().disable_splitting()) + coord_flip(),
], ncol=2)
Out[4]:
In [5]:
gggrid([
    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', ymax='max')),
    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', ymax='max'), tooltips=layer_tooltips().disable_splitting()),

    ggplot(class_df, aes(y='class')) + geom_crossbar(aes(xmin='min', xmax='max')),
    ggplot(class_df, aes(y='class')) + geom_crossbar(aes(xmin='min', xmax='max'), tooltips=layer_tooltips().disable_splitting()),

    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', ymax='max')) + coord_flip(),
    ggplot(class_df, aes(x='class')) + geom_crossbar(aes(ymin='min', ymax='max'), tooltips=layer_tooltips().disable_splitting()) + coord_flip(),
], ncol=2)
Out[5]:
In [ ]: