首页 > 解决方案 > 排列 ggplot 图列表并调整间距/边距

问题描述

我有一个创建 ggplot 图列表的函数。我目前正在使用拼凑而成的方式将绘图排列在一起,以便我可以编织到 Word,但是我很难处理它呈现时的外观。当前的输出如下所示:

坏身材

我想让它看起来像这样:

好身材

目前,我的代码如下:

patchwork_plots <- Reduce(`+`, plots)

patchwork_plots + 
  plot_layout(ncol=2)  

我尝试了一些不同的软件包和不同的调整方式,但似乎没有任何效果。任何建议都会很棒。

标签: rggplot2r-markdown

解决方案


一个简单的解决方案是改变你的纵横比和width=情节height=。绘图中的图形不会像绘图中的文本那样缩放,而是取决于图形设备的分辨率和大小/纵横比。这是一个示例,它显示了 3 个外观非常不同的图,这些图可以通过调整输出的纵横比产生。

library(ggplot2)
# intentionally crowded plot
gplot(mtcars, aes(mpg, disp)) + geom_point() +
  facet_wrap(factor(cyl)~factor(carb), scales='free') +
  labs(x='mpg is here and this is long', y='disp is here and this is long too!')

宽度 = 4,高度 = 3

ggsave('plot4_3.png', width=4, height=3)

在此处输入图像描述

宽度 = 8,高度 = 5

ggsave('plot8_5.png', width=8, height=5)

在此处输入图像描述

宽度 = 12,高度 = 9

ggsave('plot12_9.png', width=12, height=9)

在此处输入图像描述


推荐阅读