在ggplot函数或geom中设置aes之间的区别?

M. *_*eil 2 r ggplot2

我想知道它是如何设计美学的ggplot.如何知道在哪里放置aes离子ggplot

考虑以下代码:

p<- ggplot(mtcars, aes(wt, mpg, colour = "red"))
# A basic scatter plot
hello =p + geom_point(size = 4)
hello
goodbye=p + geom_point(aes(colour = factor(cyl)), size = 4)
goodbye
Run Code Online (Sandbox Code Playgroud)

在这里,可以看到红色应用于第一个图形中的点(hello),而在第二个图标中(再见)它可以从列中获取颜色.但有什么区别?

Pau*_*tra 11

不同之处在于,当aes它们在原始中设置时ggplot,它们将由构建在其上的任何其他geom继承.如果aes仅在geom中指定,则仅在该geom中使用.如果您使用任何特定aesgeom,他们将覆盖中的设置ggplot.

在您的示例代码中,在第一个实例中:

p + geom_point(size = 4)
Run Code Online (Sandbox Code Playgroud)

点的大小设置为4,并且aes(wt, mp, colour = 'red')继承自ggplot.在第二种情况:

p + geom_point(aes(colour = factor(cyl))
Run Code Online (Sandbox Code Playgroud)

将得到的AES是aes(wt, mpg, colour = factor(cyl)作为wtmpg从被继承ggplot的对象,并且colour = factor(cyl)将覆盖colour = 'red'.