library(ggpubr) # ggpubr 是基于ggplot2开发,更便捷,使图满足论文出版的需要。
df<-iris colnames(df)<-paste0("V",1:5) # paste0 连接符是空字符串,相比paste不能设置sep df
p1<-ggplot(df,aes(x=V1,y=V2))+geom_point(aes(color=V5))+theme_bw() p1 p2<-ggplot(df,aes(x=V1,y=V3))+geom_point(aes(color=V5))+theme_bw() p3<-ggplot(df,aes(x=V1,y=V4))+geom_point(aes(color=V5))+theme_bw() ggarrange(p1,p2,p3,ncol=3)
p1:
ggarrange(p1,p2,p3,ncol=3) # 注 Rstudio 缩略图坐标压缩不正常显示,zoom看正常,解决方法是ggsave可以保存正常图如ggsave("~/Downloads/ggarrange.png",ggarrange(p1,p2,p3,ncol=3))
备注 这里Rstudio右下角压缩不正常图 ,直接Export也是这种异常,需要ggsave
因为图例一致,可以共用图例,设置common.legend=T
参数ncol: 设置绘图网格的列数,number of columns in the plot grid.
ggarrange(p1,p2,p3,ncol=3,common.legend = T)
设置图例位置 legend = "right"
ggarrange(p1,p2,p3,ncol=3,common.legend = T,legend = "right")
df$V6<-sample(LETTERS[1:6],150,replace = T) df
p4<-ggplot(df,aes(x=V1,y=V2))+geom_point(aes(color=V6))+theme_bw() p4
p5<-ggplot(df,aes(x=V1,y=V3))+geom_point(aes(color=V6))+theme_bw() p6<-ggplot(df,aes(x=V1,y=V4))+geom_point(aes(color=V6))+theme_bw() ggarrange(p4,p5,p6,ncol=3,common.legend = T) #图例放在顶部,默认布局是3行3列
更改图例中顺序。
p4<-ggplot(df,aes(x=V1,y=V2))+geom_point(aes(color=V6))+theme_bw()+theme(legend.position = "top") #默认是如下顺序 p4
p4<-ggplot(df,aes(x=V1,y=V2))+geom_point(aes(color=V6))+theme_bw()+theme(legend.position = "top")+scale_color_discrete(guide=guide_legend(byrow=T)) p4 # 靠guide_legend 设置图例顺序
p4<-ggplot(df,aes(x=V1,y=V2))+geom_point(aes(color=V6))+theme_bw()+theme(legend.position = "top")+scale_color_discrete(guide=guide_legend(byrow = T,nrow=1)) p4
ggarrange