stat_summary()

In [1]:
import numpy as np
import pandas as pd

from lets_plot import *
In [2]:
LetsPlot.setup_html()
In [3]:
df = pd.read_csv("https://raw.githubusercontent.com/JetBrains/lets-plot-docs/master/data/mpg.csv")
print(df.shape)
df.head()
(234, 12)
Out[3]:
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 [4]:
ggplot(df, aes("drv", "hwy")) + stat_summary()
Out[4]:

1. The geom Parameter

In [5]:
ggplot(df, aes("cty", "hwy")) + stat_summary(geom='smooth')
Out[5]:

2. The fun Parameter

In [6]:
ggplot(df, aes("drv", "hwy")) + stat_summary(geom='bar', fun='count')
Out[6]:

3. The quantiles Parameter

In [7]:
ggplot(df, aes("drv", "hwy")) + stat_summary(fun='mq', fun_min='lq', fun_max='uq', quantiles=[.45, .5, .55])
Out[7]:

4. Custom Calculations in Aesthetics

In [8]:
ggplot(df, aes("drv", "hwy")) + stat_summary(aes(lower='..lq..', middle='..mq..', upper='..uq..'), geom='boxplot')
Out[8]: