R 带拼图或整块图的针织图形尺寸

R 带拼图或整块图的针织图形尺寸,r,knitr,cowplot,patchwork,R,Knitr,Cowplot,Patchwork,我有大量的数字,我想在使用knitr创建的文档中的一列中显示。图形的数量可能会有所不同,因此我创建了一个函数,使用patchwork::wrap_plots组合所有图形(cowplot::plot_grid是另一种选择,但具有下面描述的相同问题)。MWE: 库(拼凑) 图书馆(tidyverse) 地块% ggplot(,aes(x=A,y=B))+ 几何点()+ coord_equal()) 包裹图(图,ncol=1) 默认情况下,这将创建微小的绘图。(省略coord_equal将导致具有相

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

库(拼凑)
图书馆(tidyverse)
地块%
ggplot(,aes(x=A,y=B))+
几何点()+
coord_equal())
包裹图(图,ncol=1)
默认情况下,这将创建微小的绘图。(省略
coord_equal
将导致具有相同高度但具有整页宽度的绘图):

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

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


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

如果使用
coord_equal()
,则需要将
fig.width
fig.height
设置为适当的值。例如,如果您的图形近似为正方形,并且有一列10个图形,则
fig.height
需要比
fig.width
大十倍。
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)