从图例中删除错误栏 (ggplot2)
Remove errorbars from legend (ggplot2)
我用以下命令绘制了一个图:
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_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())
您可以简单地将"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())
我用以下命令绘制了一个图:
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_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())
您可以简单地将"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())