2016-08-24 94 views
0

我最近开始使用ggplot2所以,我再次道歉发布基本问题。ggplot2图和覆盖

我在其中一个帮助页面阅读了这段代码。此代码很好地绘出线图和与红点的平均值:

ggplot(mpg, aes(trans, cty)) + 
    geom_point() + 
    stat_summary(geom = "point", fun.y = "mean", colour = "red", size = 4) 

我想通过重写的geom_point()内容和使用stat="summary"

ggplot(mpg, aes(trans, cty)) + 
    geom_point(stat = "summary", fun.y = "mean", colour = "red", size = 4) + 

然而简化这一点,上面的代码没有按”工作。有人可以帮助我,为什么上面的代码不起作用?具体来说,它只绘制红点(平均点)。我没有看到散点图虽然我已经使用geom_point()

回答

3

因为ggplot()定义aes(),但您使用的是geom层覆盖它们。

在第一种情况下,geom_point()完成点的绘图,并且stat_summary()做了为图添加汇总统计图层的部分。

但是,当您定义stat = "summary"时,您告诉geom_point()绘制摘要统计数据而不是数据点。

头以上的ggplot2文件和读取映射这个生态系统中是如何工作的:http://docs.ggplot2.org/current/

+0

感谢Pj_。这有帮助。我添加了geom_point(),它运行良好!非常感谢。 – watchtower

+0

@ ss0208535很高兴能帮到你! :)如果答案对你有帮助,你能接受吗? –