在带有 geom_errorbar 的 ggplots 中使用位置闪避的美学问题

Posted

技术标签:

【中文标题】在带有 geom_errorbar 的 ggplots 中使用位置闪避的美学问题【英文标题】:Aesthetics issue using position dodge in ggplots with geom_errorbar 【发布时间】:2018-05-06 01:44:41 【问题描述】:

我在为数据集绘制误差线时遇到问题。

下面是一些代码,我希望你能帮助我,因为我已经非常彻底地研究了这个问题,但我还没有弄清楚为什么它不起作用。我不是一个很有经验的程序员或 R 用户,但我想这也不是初学者。

> fruit_params
Fruits variable N     value        sd         se        ci
Apple  January 3  319.4667 289.32861 167.043950 718.73211
Apple  Febuary 3  373.8000 251.00398 144.917218 623.52846
Apple    March 3  217.8000  13.03994   7.528612  32.39300
Apple    April 3  424.6333  39.11948  22.585639  97.17816
Apple      May 3 1160.6667  40.27820  23.254629 100.05659
Apple     June 3 1510.3333 269.31828 155.490979 669.02368
Orange  January 3  241.1667  65.83877  38.012030 163.55257
Orange  Febuary 3  317.4667 204.09195 117.832541 506.99251
Orange    March 3  224.4667  23.13144  13.354941  57.46167
Orange    April 3  329.3333  18.11307  10.457586  44.99536
Orange      May 3 1279.6667 129.46943  74.749210 321.61989
Orange     June 3 1167.6667  66.16142  38.198313 164.35408

这是我的数据框。我想绘制条形图,并根据平均值的标准误差添加误差线(se 列)。

library(ggplot2)
ggplot(data = fruit_params, aes(x = variable, y = value, fill = Fruits)) +
geom_bar(position = "dodge", stat="identity") +
geom_errorbar(aes(ymin = value, ymax=value+se, width=.2, position = position_dodge(0.9)))

运行此脚本会产生以下错误消息:

Advarsel:忽略未知的美学:位置 不知道如何为 PositionDodge/Position/ggproto 类型的对象自动选择比例。默认为连续。 Fejl:美学必须是长度1或与数据相同(12):ymin,ymax,width,position,x,y,fill

如果你从geom_errorbar的aes()中注释掉position = position_dodge(0.9),你可以绘制图形,但是误差线会偏移。

有什么问题?谢谢你的时间:-)

【问题讨论】:

请使用dput()提供您的数据 【参考方案1】:

你有widthposition 在里面 aes(...)。将这两个语句放在aes(...) 之外,它就可以工作:

ggplot(data = fruit_params, aes(x = variable, y = value, fill = Fruits)) +
    geom_bar(position = "dodge", stat = "identity") +
    geom_errorbar(aes(ymin = value - se, ymax=value + se), width = .2, position = position_dodge(0.9))

【讨论】:

不用担心;-) 很高兴为您提供帮助。 附言。您可以通过单击答案旁边的复选标记来关闭已解决的问题。

以上是关于在带有 geom_errorbar 的 ggplots 中使用位置闪避的美学问题的主要内容,如果未能解决你的问题,请参考以下文章

如何在 hline 中添加图例?

显示大于或等于号

显示大于或等于号

如何在 R 图中显示显着的 p 值

每组 7 天移动平均线 - R

如何在 R 中的 ggplot 中为条形图添加误差线