当geom_errorbars为

时间:2015-06-25 06:53:09

标签: r data-visualization ggplot2

我无法弄清楚如何让这些geom_points正确闪避!我在不同的stackexchange页面上搜索了许多,很多的方法和问题,但没有一个能解决这个问题。

analyze_weighted <- data.frame(
    mus = c(clean_mu,b_mu,d_mu,g_mu,bd_mu,bg_mu,dg_mu,bdg_mu,m_mu),
    sds = c(clean_sigma,b_sigma,d_sigma,g_sigma,bd_sigma,bg_sigma,dg_sigma,bdg_sigma,m_sigma),
    SNR =c("No shifts","1 shift","1 shift","1 shift","2 shifts","2 shifts","2 shifts","3 shifts","4 shifts"),
)

然后我尝试绘制它:

ggplot(analyze_weighted, aes(x=SNR,y=mus,color=SNR,group=mus)) + 
  geom_point(position="dodge",na.rm=TRUE) + 
  geom_errorbar(position="dodge",aes(ymax=mus+sds/2,ymin=mus-sds/2,), width=0.25) 

它设法躲避错误栏而不是点数!我在这里疯了,我该怎么办?

这就是现在的样子 - 我希望这些分数略微躲闪!

The points refuse to dodge, no matter what I do!

1 个答案:

答案 0 :(得分:1)

geom_point要求您明确提供您希望闪避点的宽度。

这应该有效:

ggplot(analyze_weighted, aes(x=SNR,y=mus,color=SNR,group=mus)) + 
  geom_point(position=position_dodge(width=0.2),na.rm=TRUE) + 
  geom_errorbar(position=position_dodge(width=0.2),aes(ymax=mus+sds/2,ymin=mus-sds/2),width=0.25) 

请注意,您的示例不是完全可重现的,因为没有用于构建mussds的变量值。