楼主: 林随机漫步
2418 3

[学习分享] R语言 多图布局一个函数就够:plot_layout [推广有奖]

  • 1关注
  • 3粉丝

硕士生

7%

还不是VIP/贵宾

-

威望
0
论坛币
154 个
通用积分
102.8396
学术水平
11 点
热心指数
11 点
信用等级
11 点
经验
1957 点
帖子
67
精华
0
在线时间
136 小时
注册时间
2014-1-11
最后登录
2024-7-20

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币


以下内容来自R软件帮助文档,查看方式👇


install.packages("patchwork")library(patchwork)??plot_layout
# 重要参数解释plot_layout(  ncol = NULL, # 设置列数  nrow = NULL, # 设置行数  byrow = NULL, # 设置案列输出方式 行 or 列  widths = NULL, # 设置宽度  heights = NULL, # 设置高度  guides = NULL,  tag_level = NULL,  design = NULL)


效果演示


library(ggplot2)library(patchwork)p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp))p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear))p3 <- ggplot(mtcars) + geom_bar(aes(gear)) + facet_wrap(~cyl)p4 <- ggplot(mtcars) + geom_bar(aes(carb))p5 <- ggplot(mtcars) + geom_violin(aes(cyl, mpg, group = cyl))# The plots are layed out automatically by default# 默认按照行排序p1 + p2 + p3 + p4 + p5# 效果见下图
# Use byrow to change how the grid is filled out# 设置按照列诸葛输出p1 + p2 + p3 + p4 + p5 + plot_layout(byrow = FALSE)# 效果见下图

上图 p1 + p2 + p3 + p4 + p5


上图 p1 + p2 + p3 + p4 + p5 + plot_layout(byrow = FALSE)



# Change the grid dimensions# 设置布局列数和宽度p1 + p2 + p3 + p4 + p5 + plot_layout(ncol = 2, widths = c(1, 2))# 效果见下图

上图 p1 + p2 + p3 + p4 + p5 + plot_layout(ncol = 2, widths = c(1, 2))



# Define layout at different nesting levels# 定义不同嵌套级别的布局p1 +  p2 +  (p3 +     p4 +     plot_layout(ncol = 1)  ) +  p5 +  plot_layout(widths = c(2, 1))# 效果见下图


# Complex layouts can be created with the `design` argument#可以使用“design”参数创建复杂的布局design <- c(  area(1, 1, 2),  area(1, 2, 1, 3),  area(2, 3, 3),  area(3, 1, 3, 2),  area(2, 2))p1 + p2 + p3 + p4 + p5 + plot_layout(design = design)# 效果见下图

图 p1 + p2 + p3 + p4 + p5 + plot_layout(design = design)



# The same can be specified as a character string:#可以将其指定为字符串:design <- "122153443"p1 + p2 + p3 + p4 + p5 + plot_layout(design = design)# 效果见下图

图 p1 + p2 + p3 + p4 + p5 + plot_layout(design = design)



# When using strings to define the design `#` can be used to denote empty#使用字符串定义设计时,`#`可用于表示空
# areas#区域design <- "1##123##3"p1 + p2 + p3 + plot_layout(design = design)# 效果见下图


图  p1 + p2 + p3 + plot_layout(design = design)




# Use guides="collect" to remove duplicate guides#使用guides=“collect”删除重复的辅助线p6 <- ggplot(mtcars) + geom_point(aes(mpg, disp, color=cyl))p7 <- ggplot(mtcars) + geom_point(aes(mpg, hp, color=cyl))p6 + p7 + plot_layout(guides='collect')# 效果见下图

图 p6 + p7 + plot_layout(guides='collect')



# Guide position must be applied to entire patchwork#导向位置必须应用于整个拼接p6 + p7 + plot_layout(guides='collect') &  theme(legend.position='bottom')# 效果见下图



二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Layout plot R语言 Out Lay

已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
cheetahfly + 20 观点有启发
Sunknownay + 3 + 3 + 3 鼓励积极发帖讨论

总评分: 论坛币 + 20  学术水平 + 3  热心指数 + 3  信用等级 + 3   查看全部评分

沙发
yangming98 发表于 2021-5-9 21:49:34 来自手机 |只看作者 |坛友微信交流群
林随机漫步 发表于 2021-5-8 22:31
以下内容来自R软件帮助文档,查看方式&amp;#128071;
  • 好的好的好的好的

    使用道具

    藤椅
    nkunku 发表于 2021-5-11 16:59:17 |只看作者 |坛友微信交流群
    不错 谢谢

    使用道具

    板凳
    peter_201901 在职认证  发表于 2021-11-29 15:26:04 |只看作者 |坛友微信交流群
    不错 谢谢

    使用道具

    您需要登录后才可以回帖 登录 | 我要注册

    本版微信群
    加好友,备注cda
    拉您进交流群

    京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

    GMT+8, 2024-11-6 05:15