R 从图例(ggplot2)中删除错误条
我使用以下命令绘制了一个绘图:R 从图例(ggplot2)中删除错误条,r,plot,ggplot2,legend,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 ) + #sta
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())
我得到了这个传说:
但是,当我取消注释命令的第3行时:
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())
我得到了一个稍微不同的传说:
请注意,在我开始使用errorbar
绘图后,穿过点的细线
如何去除图例中出现的细小线条?您可以使用
show\u guide=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())
您可以简单地将“errorbar”代码行的位置切换到“point”代码行的上方。这样,点将覆盖微小的线,而不是相反的方向
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())
尽管是一个可行的解决方案,@nongkrong的答案解决了问题的核心。我不得不接受这一点,但你的回答也给了我一个重要的启示。不知道执行顺序会影响图纸。谢谢@很高兴它帮助了你!只是一个提出类似问题的指针:确保在你的问题中包含一个可复制的例子。这样,我就可以运行您提供的代码,得到与您完全相同的图形。@user4786271有几种可能的方法。通常,您希望提供一个最小的可复制示例。您可以自己制作一个(例如
data.frame(x=1:100,y=1:100,z=1:100)
,使用一个内置数据集(例如mtcars
),或者提供dput(test\u mod)
的输出,如果它不是太大的话。有关详细信息,请阅读。show\u指南
已被弃用。现在改为show.legend
。