考虑以下数据(请注意foo
实际上是一个因素。):
foo bar outcome ci
1 a 0.683333333 0.247447165
2 b 0.941666667 0.180356565
3 c 0.783333333 0.335337789
1 d 0.866666667 0.204453706
2 e 0.45 0.303059647
3 f 0.325 0.340780173
我想为每个
bar
值绘制多个foo
,以及它们的outcome
和带有CI的错误栏。这是我的工作:ggplot(ex, aes(foo, outcome, label = bar)) +
geom_point(position = position_dodge(.1)) +
geom_errorbar(aes(ymin = outcome - ci, ymax = outcome + ci), position = position_dodge(.1)) +
geom_text(hjust = 2)
我得到:
但是我希望它避开误差线和误差点,以便可以看到重叠部分。 Using
position_jitter
did that,但是它是完全随机的(或"clunky")-我不想要那样。如何抵消个别观察结果?
还是这是ggplot的错误? example here也是shows this error。
最佳答案
一种可能性是通过'bar'来group
。请注意,我也dodge
geom_text
。
dodge <- position_dodge(.1)
ggplot(data = df, aes(x = foo, y = outcome, group = bar, label = bar)) +
geom_point(position = dodge) +
geom_errorbar(aes(ymin = outcome - ci, ymax = outcome + ci), position = dodge) +
geom_text(hjust = 2, position = dodge)
关于r - 用ggplot避开点和误差线,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25789434/