【发布时间】:2016-08-23 22:26:13
【问题描述】:
我是 ggplot 的新手。我正在尝试了解如何使用 ggplot。我正在阅读 Wickham 的书,但仍在努力思考如何使用 aes() 函数。
aes()这两种实现有什么区别:
library(ggplot2)
ggplot(mpg, aes(displ, hwy, colour = class)) +
geom_point() +
geom_smooth(method = "lm", se = FALSE) +
theme(legend.position = "none")
和
ggplot(mpg, aes(displ, hwy)) +
geom_point(aes(colour = class)) +
geom_smooth(method = "lm", se = FALSE) +
theme(legend.position = "none")
它们都打印出明显不同的图表。有什么帮助吗?我真的被困住了。
【问题讨论】:
-
当您在
ggplot的aes内映射美学时,它是全局。这意味着该映射被绘图中的所有其他绘图层使用,除非您使用inhert.aes参数。当您将它们放在像geom_point这样的绘图层中时,它们只会影响该特定层。 -
在询问 SO 之前,您应该首先阅读相关的帮助文本,即
?aes: "提供给ggplot()的美学被用作每一层的默认值。您可以覆盖它们,或者为每一层提供不同的美学"