我正在尝试使用以下方法将图表渲染为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?
答案 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
循环就好了,有时候更清晰了)