PDF 43 / 520 Every geom function in ggplot2 takes a mapping argument. How‐ ever, not every aesthetic works wi
English · PDF 43
Original PDF page 43
中文 · PDF 43

ggplot2 中的每个 geom 函数都接受一个 mapping 参数。然而,并非每种美学属性都适用于每个 geom。你可以设置点的形状,但不能设置线的“形状”。另一方面,你可以设置线的线型。geom_smooth() 会为你映射到 linetype 的变量的每个唯一值绘制一条不同的线,使用不同的线型:

ggplot(data = mpg) + geom_smooth(mapping = aes(x = displ, y = hwy, linetype = drv))

这里 geom_smooth() 根据 drv 值将汽车分成三条线,drv 描述了汽车的驱动系统。一条线描述所有值为 4 的点,一条线描述所有值为 f 的点,还有一条线描述所有值为 r 的点。这里,4 代表四轮驱动,f 代表前轮驱动,r 代表后轮驱动。

如果这听起来很奇怪,我们可以通过将这些线条叠加在原始数据之上,并根据 drv 对所有内容着色,来使其更加清晰。