如何解决将图例添加到ggarrange图
我有两个使用来自两个独立数据集(雄性对雌性)的数据的图,我使用ggarrange()
并排布置了这些图。男性用实心圆圈表示,女性用实心圆圈表示。
如何添加图例,以便读者理解哪个图形来自男性数据,哪个图形来自女性数据?
这是我的代码:
Pronotum_Width_Female <- c("6.5","7.4","7.0","6.2","6.3","6.0","6.4","6.9","6.6","6.8","7.2")
Year_Female <- c("1995","1999","2001","2003","2005","2007","2008","2009","2010","2011","2012","2013")
female <- data.frame(Pronotum_Width_Female,Year_Female)
Pronotum_Width_Male <- c("6.4","5.9","5.8","6.5","5.7","6.1","6.5")
Year_Male <- c("1995","2013")
male <- data.frame(Pronotum_Width_Male,Year_Male)
plot1 <- ggplot(female,aes(y=Pronotum_Width_Female,x=Year_Female)) +
geom_point(size = 2,shape = 1) +
labs(x="Year",y = "Pronotum Width (mm)") +
theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.background = element_blank(),axis.line = element_line(colour = "black")) +
theme(axis.title = element_text(size=15),# for axix
title = element_text(size=15),axis.text = element_text(size=15),axis.title.x = element_text(vjust = 0),axis.title.y = element_text(vjust = 2),legend.title = element_text(vjust = 0.5))+
coord_cartesian(ylim=c(5,12))
plot2 <- ggplot(male,aes(y=Pronotum_Width_Male,x=Year_Male)) +
geom_point(size = 2) +
geom_smooth(method = "lm",se = TRUE,col="black",size=1) +
labs(x="Year",12))
ggarrange(plot2,plot1,labels = c("a)","b)"),ncol = 2,nrow = 1)
解决方法
不确定您要实现的目标,但我认为最简单的方法是将数据绑定在一起,按性别绘制一个图和一个面,这将为面板提供漂亮的标签:
Pronotum_Width_Female <- c("6.5","7.4","7.0","6.2","6.3","6.0","6.4","6.9","6.6","6.8","7.2")
Year_Female <- c("1995","1999","2001","2003","2005","2007","2008","2009","2010","2011","2012","2013")
Female <- data.frame(Pronotum_Width = Pronotum_Width_Female,Year = Year_Female)
Pronotum_Width_Male <- c("6.4","5.9","5.8","6.5","5.7","6.1","6.5")
Year_Male <- c("1995","2013")
Male <- data.frame(Pronotum_Width = Pronotum_Width_Male,Year = Year_Male)
library(ggplot2)
library(dplyr)
d <- dplyr::bind_rows(list(Female = Female,Male = Male),.id = "gender") %>%
# Make Pronotum_Width numeric
mutate(Pronotum_Width = as.numeric(Pronotum_Width))
ggplot(d,aes(y=Pronotum_Width,x = Year)) +
geom_point(aes(shape = gender),size = 2) +
scale_shape_manual(values = c(Female = 1,Male = 16)) +
labs(x="Year",y = "Pronotum Width (mm)") +
theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank(),panel.background = element_rect(fill = NA),axis.line = element_line(colour = "black")) +
theme(axis.title = element_text(size=15),# for axix
title = element_text(size=15),axis.text = element_text(size=15),axis.title.x = element_text(vjust = 0),axis.title.y = element_text(vjust = 2),legend.title = element_text(vjust = 0.5),strip.background.x = element_rect(fill = NA)) +
coord_cartesian(ylim = c(5,12)) +
facet_wrap(~gender) +
# Drop the legend
guides(shape = FALSE)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。