ggplot2中实现多个绘图在一张画布中组合

发布时间 2023-03-24 12:01:32作者: 小鲨鱼2018

 

001、生成几个测试数据

library(ggplot2)
library(dplyr)

p1 <- ggplot(mpg) + 
  geom_point(aes(x = displ, y = hwy)) + ggtitle("P1")    ## 测试图p1
p2 <- ggplot(mpg) + 
  geom_bar(aes(x = as.character(year), fill = drv), position = "dodge") +
  ggtitle("P2")                                          ## 测试图p2
p3 <- ggplot(mpg) + 
  geom_density(aes(x = hwy, fill = drv), colour = NA) + 
  facet_grid(rows = vars(drv)) + ggtitle("P3")           ## 测试图p3
p4 <- ggplot(mpg) + 
  stat_summary(aes(x = drv, y = hwy, fill = drv), geom = "col", fun.data = mean_se) +
  stat_summary(aes(x = drv, y = hwy), geom = "errorbar", fun.data = mean_se, width = 0.5) +
  ggtitle("P4")                                          ## 测试图p3

 

002、利用 patchwork 包进行图片组合

library(patchwork)          ## 加载包

 

p1 + p2                    ## p1 + p2组合

 

 

p1 + p4                    ## p1 + p4组合

 

 

p4 + p1             ## p4 + p1组合

 

 

p1 + p2 + p3          ## p1 + p2 + p3 组合

 

 

p1 + p2 + p3 + p4               ## 四图组合