geom_smooth(mapping= None , data= None , ** kwargs)
A smoothed conditional mean
{usage}
Parameters
legend_fill_ratio : float = 0.5
How much (vertically) of the legend box should be filled by the color that indicates the confidence intervals. Should be in the range [0, 1].
Examples
from plotnine import ggplot, aes, geom_point, geom_smooth, labs, theme_matplotlib, theme_set
from plotnine.data import mpg
theme_set(theme_matplotlib())
Smoothed conditional means
Aids the eye in seeing patterns in the presence of overplotting.
0
audi
a4
1.8
1999
4
auto(l5)
f
18
29
p
compact
1
audi
a4
1.8
1999
4
manual(m5)
f
21
29
p
compact
2
audi
a4
2.0
2008
4
manual(m6)
f
20
31
p
compact
3
audi
a4
2.0
2008
4
auto(av)
f
21
30
p
compact
4
audi
a4
2.8
1999
6
auto(l5)
f
16
26
p
compact
(
ggplot(mpg, aes(x= "displ" , y= "hwy" ))
+ geom_point()
+ geom_smooth()
+ labs(x= "displacement" , y= "horsepower" )
)
Use span to control the “wiggliness” of the default loess smoother. The span is the fraction of points used to fit each local regression: small numbers make a wigglier curve, larger numbers make a smoother curve.
(
ggplot(mpg, aes(x= "displ" , y= "hwy" ))
+ geom_point()
+ geom_smooth(span= 0.3 )
+ labs(x= "displacement" , y= "horsepower" )
)
You can remove confidence interval around smooth with se=False:
(
ggplot(mpg, aes(x= "displ" , y= "hwy" ))
+ geom_point()
+ geom_smooth(span= 0.3 , se= False )
+ labs(x= "displacement" , y= "horsepower" )
)
Instead of a loess smooth, you can use any other modelling function:
(
ggplot(mpg, aes(x= "displ" , y= "hwy" ))
+ geom_point()
+ geom_smooth(method= "lm" )
+ labs(x= "displacement" , y= "horsepower" )
)
Points & Linear Models
# Gallery, points
(
ggplot(mpg, aes(x= "displ" , y= "hwy" , color= "factor(drv)" ))
+ geom_point()
+ geom_smooth(method= "lm" )
+ labs(x= "displacement" , y= "horsepower" )
)
Source: Smoothed conditional means