从图例中删除错误栏(ggplot2)

时间:2015-07-12 18:26:01

标签: r plot ggplot2 legend

我有一个使用以下命令绘制的情节:

ggplot(data=test_mod, aes(x=realDist , y=1-value, color=as.factor(foo) , size=as.factor(foo) )) +
  stat_summary(fun.y=mean, geom="line", alpha=0.85 ) + 
  stat_summary(fun.y=mean, geom="point", pch=21, fill="white", size=2 ) +
  stat_summary(fun.data=mean_cl_normal, geom="errorbar", width=8, size = 0.5) + 
  theme_bw(base_size = 15, base_family = "Palatino") + 
  theme(legend.key = element_blank()) 

我得到了这个传说:

enter image description here

但是,当我取消注释命令的第3行时:

errorbar

我得到了一个略有不同的传说:

enter image description here

注意我开始使用{{1}}作为情节后,细线会出现点。

如何摆脱传奇中出现的那些微小线条?

2 个答案:

答案 0 :(得分:4)

您可以使用 show_guide=FALSE关闭该元素的图例。 show.legend=FALSE

ggplot(data=test_mod, aes(x=realDist , y=1-value, color=as.factor(foo) , size=as.factor(foo) )) +
  stat_summary(fun.y=mean, geom="line", alpha=0.85 ) + 
  stat_summary(fun.y=mean, geom="point", pch=21, fill="white", size=2 ) +
  stat_summary(fun.data=mean_cl_normal, geom="errorbar", width=8, size = 0.5, show.legend=FALSE) + 
  theme_bw(base_size = 15, base_family = "Palatino") + 
  theme(legend.key = element_blank())

答案 1 :(得分:1)

您只需将“错误栏”代码行的位置切换到“点”代码行之上即可。这样,这些点将覆盖细线而不是相反的方式。

ggplot(data=test_mod, aes(x=realDist , y=1-value, color=as.factor(foo) , size=as.factor(foo) )) +
  stat_summary(fun.y=mean, geom="line", alpha=0.85 ) + 
  stat_summary(fun.data=mean_cl_normal, geom="errorbar", width=8, size = 0.5) +
  stat_summary(fun.y=mean, geom="point", pch=21, fill="white", size=2 ) + 
  theme_bw(base_size = 15, base_family = "Palatino") + 
  theme(legend.key = element_blank())