patchwork
是一个用于 R 语言 的包,主要作用是 方便地排列和组合 ggplot2 图形。在数据分析和可视化中,经常需要把多个图表放在一起进行对比,而 patchwork
让这件事变得非常简单。
主要功能
-
轻松组合多个 ggplot2 图
-
使用
+
、|
、/
运算符即可排列图形 -
例如:
plot1 + plot2
表示横向排列两个图 -
例如:
plot1 / plot2
表示纵向排列两个图
-
-
自定义布局
-
通过
plot_layout()
设定行列数 -
例如:
plot1 + plot2 + plot_layout(ncol = 2)
-
-
支持复杂布局
-
可以使用
plot_spacer()
添加空白区域 -
还能用
wrap_elements()
嵌入其他非 ggplot2 元素
-
-
支持标签
-
plot_annotation()
可为组合图添加标题和说明 -
plot1 + plot2 + plot_annotation(title = "组合图示例")
-
示例代码
library(ggplot2)
library(patchwork)
# 创建两个 ggplot2 图
p1 <- ggplot(mtcars, aes(mpg, wt)) + geom_point()
p2 <- ggplot(mtcars, aes(cyl, hp)) + geom_boxplot()
# 横向排列
p1 + p2
# 纵向排列
p1 / p2
# 自定义布局
(p1 + p2) + plot_layout(ncol = 1)
适用场景
-
论文或报告中需要将多个图表拼接在一起
-
需要在同一张图中比较不同数据集或不同变量的关系
-
需要调整图表布局,但不想手动调整
gridExtra
或cowplot