我需要修改一些情节的注释,所以我必须保存ggplot2图并做
ggplot_build(plot.obj)
然后用
绘制它plot(ggplot_gtable(ggplot_build(plot.obj)))
问题是,当我将其保存在像这样的pdf中时
pdf(file="test.pdf")
plot(ggplot_gtable(ggplot_build(plot.obj)))
dev.off()
结果pdf在绘图页面前有一个空白页面...我该如何避免这个?
检查此MWE
data(iris)
library(ggplot2)
box <- ggplot(data=iris, aes(x=Species, y=Sepal.Length)) +
geom_boxplot(aes(fill=Species)) +
ylab("Sepal Length") + ggtitle("Iris Boxplot") +
stat_summary(fun.y=mean, geom="point", shape=5, size=4)
box2 <- ggplot_build(box)
#I do stuff here
pdf(file="test.pdf")
plot(ggplot_gtable(box2))
dev.off()
问题是如何在没有该空白页的情况下使用ggplot_gtable制作pdf?
答案 0 :(得分:2)
这个论点onefile=FALSE
解决了这个问题!
data(iris)
library(ggplot2)
box <- ggplot(data=iris, aes(x=Species, y=Sepal.Length)) +
geom_boxplot(aes(fill=Species)) +
ylab("Sepal Length") + ggtitle("Iris Boxplot") +
stat_summary(fun.y=mean, geom="point", shape=5, size=4)
box2 <- ggplot_build(box)
#I do stuff here
pdf.options(reset = TRUE, onefile = FALSE)
pdf(file="test.pdf")
my_plot <- plot(ggplot_gtable(box2))
#ggsave("test1.png", plot = my_plot,dev = 'png')
print(my_plot)
dev.off()
答案 1 :(得分:1)
简单地说:
plot(ggplot_gtable(box2))
ggsave(filename = "my_plot.pdf")