考虑这个简单的例子
library(dplyr)
library(ggplot)
library(patchwork)
mytib <- tibble(group = as.factor(c(1,1,1,1,2,2,2,2,3,3,3,3)),
y = c(1,2,3,42,50,400,3,3,2,3,3,4),
x = c('a','b','c','d','a','b','c','d','a','b','c','d'))
p1 <- mytib %>% ggplot(aes(x = x, y = y, fill = group)) +
geom_col() + ggtitle('this is a messy chart')+
coord_flip()+
xlab('Hello') +
ylab('This is a nice comment')
现在我patchwork
用来组合图表,以便在常规a4
pdf 页面上获得 3 行,每行 3 个图表
(p1 + p1 + p1)/
(p1 + p1 + p1)/
(p1 + p1 + p1)
ggsave(file="a4_output.pdf", width = 210, height = 297, units = "mm")
输出是一个不错的 a4 pdf
,但问题是上面的图表pdf
非常拉伸。有没有办法保留它们的原始比例(在 pdf 上),使它们看起来不那么拉伸,即使是三个在一行上?我不介意它们看起来更小。
有任何想法吗?谢谢!