Автоматически отрегулируйте размер участка R в PDF файле

При использовании функции pdf() в R для сохранения графика во внешнем файле мы можем указать width и/или height, чтобы отрегулировать размер графика. Однако бывают ситуации, когда мы получаем множественный график (скажем, используя par(mfrow=c(2,4))). В этой ситуации трудно определить, что является лучшим width и height для файла PDF, чтобы все графики отображались правильно. Есть ли способ, чтобы R автоматически "соответствовал графикам" в файле PDF? Я искал аргументы в pdf() и пробовал некоторые, но результаты не являются удовлетворительными. Большое вам спасибо!

Ответ 1

Как насчет чего-то с помощью ggplot?

require(ggplot2)

# Bogus data
x <- rnorm(10000)
y <- as.factor(round(rnorm(10000, mean=10, sd=2), 0))
df <- data.frame(vals=x, factors=y)

myplot <- ggplot(data=df, aes(x=vals)) +
  geom_density() +
  facet_wrap(~ factors)

ggsave(filename="~/foo.pdf", plot=myplot, width=8, height=10, units="in")

РЕДАКТИРОВАТЬ: Если вам нужно распечатать несколько страниц, см. этот вопрос.