import pandas as pd
from lets_plot import *
LetsPlot.setup_html()
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)
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 |
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)
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)