1

我有大量的数字,我想在使用 knitr 创建的文档的单个列中显示它们。数字的数量可能会有所不同,因此我创建了一个函数来使用patchwork::wrap_plots(cowplot::plot_grid是一种替代方法,但具有下面描述的相同问题) 组合所有数字。MWE:

library(patchwork)
library(tidyverse)

plots <- lapply(1:10, function(x) data.frame(A = rnorm(1:100, 0, 1), B = rnorm(1:100, 0, 1)) %>% 
                  ggplot(., aes(x = A, y = B)) + 
                  geom_point() +
                  coord_equal())

wrap_plots(plots, ncol = 1)

默认情况下,这会创建小图。(省略coord_equal会导致绘图具有相同的高度,但具有整个页面宽度):

使用 patchword::wrap_plots 绘图

使用 knitr 的 chunk 选项fig.height(但不是fig.width)可以放大图。但是,这会导致整个图的上方和下方有非常大的边距。

我找到了许多控制patchworkcowplot绘图大小的解决方案(例如,使用cowplot::save_plot)。但是,这些似乎都不适用于使用 knitr 创建的文档。

最好,我希望图形自动具有与 knitr 输出中的文本相同的宽度,而没有过多的边距。

4

0 回答 0