如何在与ggplot箱线平均的传奇符号包括哪些?(how to include in legend

2019-10-21 05:36发布

我想在传说与盒子的符号一起有意味的象征。 所以我的传说应该包括“曝光1,曝光2,曝光3”,而且这个词的意思是其标志。 如何做到这一点使用ggplot R中?

这是我使用产生箱线图的代码:

library(ggplot2)
mydata <- read.csv("~/mydata.csv")
bp<-ggplot(mydata,aes(x=Category,y=MeanValues,,fill=as.factor(Category))) + geom_boxplot()
bp+labs(x = NULL, y = "Result")+ theme_bw()+stat_summary(fun.y = mean, geom = "point",shape = 19, size = 3,show_guide = FALSE)+theme(legend.position="top")+ guides(fill=guide_legend(title=NULL))+ theme(axis.title.y = element_text(size=20, colour = rgb(0,0,0)),axis.text.y = element_text(size=12, colour = rgb(0,0,0)),axis.text.x = element_text(size=12, colour = rgb(0,0,0)))+scale_y_continuous(limits = c(0, 1800), breaks = 0:1800*200)

该数据可在https://my.cloudme.com/josechka/mydata

以上代码生成的箱线图与所述框内的平均值。 然而,传说中只包含类的符号。 我需要的是添加到该框内后点代表每个类别的平均值的传说。 是否有可能做到这一点?

Answer 1:

你可以添加一个geom_point有独立的aes定义为“”的意思是“”,从而创造新的传奇。 使用默认值,这将绘制所有个人数据点,但设置alpha为零,使点在图中不可见的,而使用override.aes让点的符号出现在图例中。

bp<-ggplot(mydata,aes(x=Category,y=MeanValues,,fill=as.factor(Category))) + 
  geom_boxplot()
bp+ labs(x = NULL, y = "Result")+ theme_bw()+
  stat_summary(fun.y = mean, geom = "point",shape = 19, size = 3,show_guide = FALSE)+
  theme(legend.position="top")+ guides(fill=guide_legend(title=NULL))+ 
  theme(axis.title.y = element_text(size=20, colour = rgb(0,0,0)),axis.text.y = element_text(size=12, colour = rgb(0,0,0)),axis.text.x = element_text(size=12, colour = rgb(0,0,0)))+
  scale_y_continuous(limits = c(0, 1800), breaks = 0:1800*200)+
  geom_point(aes(shape = "mean"), alpha = 0)+  # <-- added this line of code and next
  guides(shape=guide_legend(title=NULL, override.aes = list(alpha = 1)))



文章来源: how to include in legend symbol of mean in boxplot with ggplot?