在带有 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】:
你有width
和position
在里面 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 中使用位置闪避的美学问题的主要内容,如果未能解决你的问题,请参考以下文章