PDF 45 / 520 This, however, introduces some duplication in our code. Imagine if you wanted to change the y-ax
English · PDF 45
Original PDF page 45
中文 · PDF 45

然而,这会在我们的代码中引入一些重复。想象一下,如果你想将 y 轴改为显示 cty 而不是 hwy,你需要在两个地方修改变量,而且可能会忘记更新其中一处。你可以通过将一组映射传递给 ggplot() 来避免这种重复。ggplot2 会将这些映射视为全局映射,应用于图中的每个几何对象。换句话说,这段代码将生成与前面代码相同的图:

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

如果你将映射放在 geom 函数中,ggplot2 会将它们视为该图层的局部映射。它会使用这些映射来扩展或覆盖全局映射,但仅针对该图层。这使得在不同图层中显示不同的美学映射成为可能:

ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + geom_point(mapping = aes(color = class)) + geom_smooth()