patchwork拼图包新版功能亮点速递

科技   2024-09-19 09:03   陕西  

欢迎关注R语言数据分析指南

9月13日patchwork包发布了1.3.0版,本节根据官方文档来介绍一下新的内容,此次更新加入了gt表格的拼图过程及众多拼图细节的调整,更多详细内容请参考该包官方文档。

官方文档

https://www.tidyverse.org/blog/2024/09/patchwork-1-3-0/

安装R包

install.packages("patchwork")
library(patchwork)
library(tidyverse)
library(gt)

拼接表格

p1 <- ggplot(airquality) +
geom_line(aes(x = Day, y = Temp, colour = month.name[Month])) +
labs(colour = "Month")

aq <- airquality[sample(nrow(airquality), 10), ]
# p1 + gt(aq) + ggtitle("Sample of the dataset")

p1 + wrap_table(aq, space = "free_y")

p1 + wrap_table(aq, space = "fixed")

aq_footer <- gt(aq) |>
tab_source_note("This is not part of the table body")

p1 + wrap_table(aq_footer, space = "fixed")```

添加表格注释


p2 <- ggplot(airquality) +
  geom_boxplot(aes(x = month.name[Month], y = Temp)) +
  theme(axis.text.x = element_blank(), axis.title.x = element_blank()) +
  scale_x_discrete(expand = c(00.5))

# Construct our table
table <- rbind(
  tapply(airquality$Temp, airquality$Month, max),
  tapply(airquality$Temp, airquality$Month, median),
  tapply(airquality$Temp, airquality$Month, min)
)
colnames(table) <- month.name[5:9]
table <- data.frame(
  Measure = c("Max""Median""Min"),
  table
)
table <- gt(table, rowname_col = "Measure") |>
  cols_width(contains(month.name) ~ px(100)) |>
  cols_align(align = "center") |>
  cols_align(align = "right", columns = "Measure")

p2 / wrap_table(table, space = "fixed")
p1 + wrap_table(aq, panel = "rows", space = "free_y") +
  plot_annotation(tag_levels = "A") &
  theme(plot.tag = element_text(margin = margin(0,6,6,0)))

拼图对齐

p1 <- ggplot(mtcars) +
  geom_bar(aes(y = factor(gear), fill = factor(gear))) +
  scale_y_discrete(
    "",
    labels = c("3 gears are often enough",
               "But, you know, 4 is a nice number",
               "I would def go with 5 gears in a modern car")
  )
p2 <- ggplot(mtcars) + geom_point(aes(mpg, disp))

free(p1) / p2
free(p1, side = "l") / p2

嵌套拼图free

p3 <- ggplot(mtcars) +
  geom_boxplot(aes(y = factor(gear), disp)) +
  scale_y_discrete("",labels = c("... and 3",
               "4 of them",
               "5 gears"))

nested <- p2 / free(p1, side = "l")
free(nested, side = "r") /p3

标签free

p1/p2
p1 /free(p2, type = "label")

patchwork新版不仅新增了对 GT 图表拼接的支持,还优化了许多细节功能,提升了整体体验。这样表达既简洁又突出功能的完善和优化。

关注下方公众号下回更新不迷路

购买介绍

本节介绍到此结束,有需要学习R数据可视化的朋友欢迎到淘宝店铺:R语言数据分析指南,购买小编的R语言可视化文档(2024版),购买将赠送2023年的绘图文档内容。目前此文档(2023+2024)已经更新上传200案例文档,每个案例都附有相应的数据和代码,并配有对应的注释文档,方便大家学习和参考。

2024更新的绘图内容将同时包含数据+代码+注释文档+文档清单,2023无目录仅有数据文件夹,小编只分享案例文档,不额外回答问题,无答疑服务,零基础不推荐买。

案例特点

所选案例图均属于个性化分析图表完全适用于论文发表,内容异常丰富两年累计发布案例图200+,2024年6月起提供html版注释文档更加直观易学。文档累计上千人次购买拥有良好的社群交流体验。R代码结构清晰易懂,为防止中文乱码提供单独的注释文档

群友精彩评论

淘宝店铺

2024年已更新案例图展示

R语言数据分析指南
R语言重症爱好者,喜欢绘制各种精美的图表,喜欢的小伙伴可以关注我,跟我一起学习
 最新文章