我可以使用ggplot2将ggplot命令的输出存储到一个对象,并在grid.arrange中调用该对象以写入R脚本中的文件,如下所示:
p<-ggplot(x, aes(x=Date, y=Date)) + geom_bar(aes(x=Date,y=Data)
png("data.png", height=700, width=650)
grid.arrange(p, main=textGrob("Data"), gp=gpar(cex=2)
dev.off()
我正在使用情节创建一堆预测图,但我无法做同样的事情。任何人都有任何建议如何将剧情输出写入剧本中的png文件?
答案 0 :(得分:4)
我们没有可以使用的数据,问题也不清楚,所以这里是我认为OP使用mtcars数据集后的示例(每个图的单独图):
dat <- split(mtcars, mtcars$cyl)
lapply(dat, function(x) {
ggplot(x, aes(mpg, disp, colour=gear)) + geom_point()
}
)
#a way to get separate plots for each plot
plot2 <- function(theplot, name, ...) {
name <- paste0(name, ".png")
png(filename=name)
print(theplot)
dev.off()
} #plotting function
lapply(seq_along(dat), function(i) {
x <- dat[[i]]
z <- ggplot(x, aes(mpg, disp, colour=gear)) + geom_point()
plot2(z, name=paste0("TEST", names(dat)[i]))
}
)
答案 1 :(得分:0)
data <- data.frame(x=1:10,y=rnorm(10))
p <- ggplot(data, aes(x,y)) + geom_point()
p
library(gridExtra)
Loading required package: grid
grid.arrange(p,p,p)
ggsave('~/Desktop/grid.png')
此方法不适用于预测图吗?