我最近开始学习 R,但对 ggplot2 中的 aes 功能感到困惑。
我在代码中看到了两个不同的地方放置了 aes。
ggplot(data = mpg) +
geom_point(mapping = aes(x = displ, y = hwy))
ggplot(mpg, aes(x = displ, y = hwy)) +
geom_point()
两者有什么区别?
找不到骗子,所以这是一个答案:
指定的美学ggplot()
被后续层继承。特定层中指定的美学仅特定于该层。这是一个例子:
library(ggplot2)
ggplot(mtcars, aes(wt, mpg)) +
geom_point() +
geom_smooth()
ggplot(mtcars) +
geom_point(aes(wt, mpg)) +
geom_smooth() # error, geom_smooth needs its own aesthetics
当您希望不同的图层具有不同的规格时,这非常有用,例如这两个图不同,您必须决定您想要哪个:
ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
geom_point() +
geom_smooth()
ggplot(mtcars, aes(wt, mpg)) +
geom_point(aes(color = factor(cyl))) +
geom_smooth()
在各个图层上,您可以使用inherit.aes = FALSE
关闭该层的继承。如果您的大多数图层都使用相同的美感,但少数图层则不然,这将非常有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)