R语言图形拼接神器:Patchwork包入门指南
R语言图形拼接神器:Patchwork包入门指南
Patchwork 是一个非常流行的用于拼接 ggplot2 图形的包。它提供了一种类似四则运算的方法来拼接图形,非常易于使用,是拼接 ggplot2 图形的首选工具。拼图符号+:左右拼图。|:左右拼图(更直观的写法)。/:上下拼图。示例图形首先,我们使用 ggplot2 包中的 mtcars 数据集来创建四个示例图形:代码语言:javascrip
R语言图形拼接神器:Patchwork包入门指南
Patchwork 是一个非常流行的用于拼接 ggplot2 图形的包。它提供了一种类似四则运算的方法来拼接图形,非常易于使用,是拼接 ggplot2 图形的首选工具。
- +:左右拼图。
- |:左右拼图(更直观的写法)。
- /:上下拼图。
首先,我们使用 ggplot2 包中的 mtcars 数据集来创建四个示例图形:
代码语言:javascript代码运行次数:0运行复制library(ggplot2)
library(patchwork)
p1 <- ggplot(mpg) +
geom_point(aes(x = displ, y = hwy)) +
ggtitle("Plot 1")
p2 <- ggplot(mpg) +
geom_bar(aes(x = (year), fill = drv), position = "dodge") +
labs(x = "year") +
ggtitle("Plot 2")
p <- ggplot(mpg) +
geom_density(aes(x = hwy, fill = drv), colour = A) +
facet_grid(rows = vars(drv)) +
ggtitle("Plot ")
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("Plot 4")
接下来,通过实例演示如何用 Patchwork 将这些图形拼接在一起。
- 使用
+
拼图:
p1 + p2
- 使用
|
拼图
p1 | p2
- 使用
/
拼图
p1 / p2
(p1 | p2) / p
Patchwork 包提供了几个函数来控制组合图形的布局。
- 默认布局
p1 + p2 + p + p4
- plot_layout 控制布局
p1 + p2 + p + p4 + plot_layout(nrow = , byrow = FALSE)
- wrap_plots 控制布局
wrap_plots(list(p1, p2, p, p4), ncol = 2)
- plot_spacer 添加空格
p1 + p2 + plot_spacer() + p4
- inset_element 生成插图
p1 + inset_element(p2, left = 0.5, bottom = 0.5, right = 0.95, top = 0.95)
- theme
p1 + p2 & theme_bw()
- labes
p1 + p2 + labs(subtitle = 'This will appear in the last plot')
- plot_annotation
(p1 | (p2 / p)) +
plot_annotation(title = 'Title: show plot_annotation of patchwork')
可以看到,Patchwork 提供了多个拼图符号、布局控制和注释选项。这使得 Patchwork 拼接 ggplot2 图形非常方便和强大。
本文参与 腾讯云自媒体同步曝光计划,分享自。原始发表:2024-12-21,如有侵权请联系 cloudcommunity@tencent 删除函数入门数据布局工具#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格
上传时间: 2025-07-26 07:29:55
推荐阅读
留言与评论(共有 7 条评论) |
本站网友 1立方米水等于多少吨 | 26分钟前 发表 |
非常易于使用 | |
本站网友 合肥教育 | 20分钟前 发表 |
position = "dodge") + labs(x = "year") + ggtitle("Plot 2") p <- ggplot(mpg) + geom_density(aes(x = hwy | |
本站网友 虫穴 | 17分钟前 发表 |
y = hwy)) + ggtitle("Plot 1") p2 <- ggplot(mpg) + geom_bar(aes(x = (year) | |
本站网友 英特尔公司 | 30分钟前 发表 |
y = hwy) | |
本站网友 彭实戈 | 14分钟前 发表 |
fun.data = mean_se) + stat_summary(aes(x = drv | |
本站网友 sesefa | 14分钟前 发表 |
p4) |