R tips:ggplot无缝拼图

您所在的位置:网站首页 无缝网红拼图图片 R tips:ggplot无缝拼图

R tips:ggplot无缝拼图

2024-07-11 13:18| 来源: 网络整理| 查看: 265

ggplot2及其衍生包可以绘制各种各样的复杂绘图,常见的使用场景是使用ggplot2绘制单图,使用ggpubr、cowplot、gridExtra及patchwork等工具包进行拼图,尤其是patchwork包,它的函数设计理念很优秀,使用很方便 。

拼图可以解放很多ggplot2的绘图限制,是一个非常有意思的话题。但是如果做过拼图的人就会发现,拼图只是简单的将两个图摆放在一起,图与图之间依然保留着很多空白空间。

ggplot_1

假如可以去除这个空白空间,那就可以实现无缝拼图,可以在很多复杂图表的绘制中发挥作用。

ggplot_2

为了更清晰的展示这个图的两个子图,可以在子图的panel上添加一个边框,可以发现两个子图的绘图区域的确是无缝拼接。

ggplot_2

复现上面的拼图

下面先复现一下上面的两个图:

代码语言:javascript复制library(ggplot2) library(magrittr) library(patchwork) # 1. 常规拼图 p % ggplot(aes(x = Species, y = Sepal.Length, fill = Species)) + geom_boxplot() p/p # 2. 无缝拼图 p_clean % insert_right(p) %>% insert_right(p) # 但是无法完成如下工作: p_a1 % insert_right(p) p_a2 % insert_right(p) p_a1 %>% insert_right(p_a2)

虽然从逻辑上,这两个图的绘制结果应该是一样的。

但是本文的所说的patchwork无缝拼图就不存在这个问题,任意组合、任意拼接、任意嵌套。

复杂绘图往往比较个性化,具体情况就不展开了,最后留一个小问题:

如果仔细看的话,会发现本文所举例子中的无缝拼图中间的x轴上有两个细微的空白gaps,这个是怎么造成的?



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3