ggplot2情节填充页面(pdf)

时间:2013-05-01 12:48:56

标签: r ggplot2 knitr sweave

我正在尝试使用以下方法将图表渲染为PDF:

pdf('~/Desktop/test.pdf', bg = "white", paper="USr")    
p <- ggplot(df, aes(something)) + geom_bar();
print(p)
# I'm actually printing a bunch of graphs to the PDF
dev.off()

PDF功能中的“USr”正在设置PDF以横向模式打印。该图是生成的,并且以页面为中心,但是有一个较大的右/左边距,并且图表没有按比例缩小以占用可用的全部11“。

我已尝试对pdf(...)命令和ggplot本身进行一些调整。有这样的解决方案还是我需要使用专门的报告/ pdf包,如sweave或knitr?

1 个答案:

答案 0 :(得分:9)

this discussion;底线是你可能想要使用paper=special并明确设置宽度和高度。

编辑:

这是一个懒惰的trick,可以将ggsave用于多个页面,

library(ggplot2)
plots = replicate(8, qplot(1,1), simplify=FALSE)
library(gridExtra)
p <- do.call(marrangeGrob, c(plots,ncol=1,nrow=1))

ggsave("multipage.pdf", p, width=11, height=8.5)

(但除此之外,pdf(...)后跟for循环就好了,有时候更清晰了)