R 带拼图或整块图的针织图形尺寸
我有大量的数字,我想在使用knitr创建的文档中的一列中显示。图形的数量可能会有所不同,因此我创建了一个函数,使用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将导致具有相
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)