R语言教程good code

ggplot2 组图利器-pathwork

2020-05-09  本文已影响0人  xmu_zhang_lab

patchwork是一个软件包,旨在使R中的情节合成极为简单和强大。它主要供ggplot2的用户使用,并尽力确保ggplots正确对齐,无论您的合成结构多么复杂。

在本教程中,我们将介绍使用拼凑而成的基础知识。最后,您将对API有了一个很好的了解,并准备好深入探讨其他小插曲所涵盖的一些更高级的主题。

示例图

我们将从创建一些示例图开始在本教程中使用:

library(ggplot2)
p1 <- ggplot(mtcars) + 
  geom_point(aes(mpg, disp)) + 
  ggtitle('Plot 1')

p2 <- ggplot(mtcars) + 
  geom_boxplot(aes(gear, disp, group = gear)) + 
  ggtitle('Plot 2')

p3 <- ggplot(mtcars) + 
  geom_point(aes(hp, wt, colour = mpg)) + 
  ggtitle('Plot 3')

p4 <- ggplot(mtcars) + 
  geom_bar(aes(gear)) + 
  facet_wrap(~cyl) + 
  ggtitle('Plot 4')

基本用法

绝对最简单的用法是ggplot2中使用的+运算符的扩展,以允许将图加在一起:

p1 + p2
image.png

将地块加在一起时,最后添加的地块将是活动地块,并将接收新添加的ggplot2对象(例如几何图形,标签等)的任何内容:

p1 + p2 + labs(subtitle = 'This will appear in the last plot')
image.png

控制布局

默认情况下,拼凑将尝试使网格保持正方形,并按行顺序填写

p1 + p2 + p3 + p4
image.png

这可以通过添加plot_layout()来控制

p1 + p2 + p3 + p4 + plot_layout(nrow = 3, byrow = FALSE)
image.png

plot_layout()具有各种令人惊叹的功能来控制合成的布局。有关所有选项的完整摘要,请参见布局小插图。

堆积和包装地块

通常,您希望将图放置在彼此之上或彼此相邻,而不是填写网格。尽管可以通过添加单行或单列布局来完成此操作,但拼凑而成的还提供了两个操作员来直接执行此操作,并进一步为布局提供了视觉提示。 |将地块并排放置,而/将其堆叠:

p1 / p2
image.png

由于patchworks可以嵌套,因此这两个运算符通常足以创建相当复杂的布局

p1 | (p2 / p3)
image.png

注释组成

通常需要在作品中添加标题,标题,标签等。这可以通过在拼凑而成的基础上添加一个plot_annotation()来实现:

(p1 | (p2 / p3)) + 
  plot_annotation(title = 'The surprising story about mtcars')
image.png

patchwork 提供自动标记功能,以识别文本中的子图:

p1 + p2 + p3 + 
  plot_annotation(tag_levels = 'I')
image.png

标签可以是阿拉伯数字或罗马数字,也可以是拉丁字母,并且可以为不同的嵌套级别提供单独的标签。有关更多信息,请参见* Annotation *小插图。
https://cran.r-project.org/web/packages/patchwork/vignettes/patchwork.html

上一篇 下一篇

猜你喜欢

热点阅读