【问题标题】:Difference between setting aes in ggplot function or in a geom?在ggplot函数或geom中设置aes的区别?
【发布时间】:2015-11-27 17:23:54
【问题描述】:

我想知道在 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

在这里,可以看到红色应用于第一个图表(你好)中的点,而在第二个图表(再见)中,它从列中获取颜色。但是有什么区别呢?

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

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

    在您的示例代码中,首先:

    p + geom_point(size = 4)
    

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

    p + geom_point(aes(colour = factor(cyl))
    

    生成的 aes 为 aes(wt, mpg, colour = factor(cyl),因为 wtmpg 继承自 ggplot 对象,而 colour = factor(cyl) 覆盖了 colour = 'red'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-12
      • 1970-01-01
      • 2018-03-28
      • 2013-07-15
      • 1970-01-01
      • 2016-06-26
      相关资源
      最近更新 更多