SO,
我正在尝试导出我的线性模型图。当我以PDF格式化时,PDF有四页和四个不同的图表。当我作为PNG导出时,我只获得第一张图表。如何导出以便将所有四个图形作为单独的PNG文件?
PDF的用途:
lrfitX11SUMS <- glm(X11SUMS ~ POLITA + CIRCULATION + COMPAPER + TrafficRankUS, data=NewspTest)
summary(lrfitOTONE)
pdf("/Users/william/Desktop/output/lmfitOTONE1.pdf")
plot(lrfitOTONE)
dev.off()
什么不适合PNG(并花了两个小时在互联网和情节文档中挖掘无效):
lrfitX11SUMS <- glm(X11SUMS ~ POLITA + CIRCULATION + COMPAPER + TrafficRankUS, data=NewspTest)
summary(lrfitOTONE)
png("/Users/william/Desktop/output/lmfitOTONE1.png", width=720, height=720, pointsize=16)
png("/Users/william/Desktop/output/lmfitOTONE2.png", width=720, height=720, pointsize=16)
png("/Users/william/Desktop/output/lmfitOTONE3.png", width=720, height=720, pointsize=16)
png("/Users/william/Desktop/output/lmfitOTONE4.png", width=720, height=720, pointsize=16)
plot(lrfitOTONE)
dev.off()
如何获取图像?
谢谢,
-wm
答案 0 :(得分:8)
PDF允许多页文档。 PNG图像从根本上与这个想法不相容。阅读?png
并认识到需要查看filename
参数会引导您?postscript
了解详细信息。
你想要这样的东西:
png("/Users/william/Desktop/output/lmfitOTONE%1d.png", width=720,
height=720, pointsize=16)
plot(lrfitOTONE)
dev.off()
其中文件名中的%1d
是一个扩展为1位数字值的通配符,这样您就可以得到四个带有所需名称的数字。您拨打png()
的4个电话设置了四个独立的设备,后者只使用了后者并随后关闭,其他三个设备仍处于打开状态。
答案 1 :(得分:6)
这样的事情:
setwd("/Users/william/Desktop/output/")
tmpf <- function(i) {
png(paste("lmfitOTONE",i,".png",sep=""), width=720, height=720, pointsize=16)
}
wplot <- c(1,2,3,5) ## see ?plot.lm for definition of 'which'
for (i in seq_along(wplot)) {
tmpf(i); plot(lrfitOTONE, which=wplot[i]); dev.off()
}
关键是意识到plot.lm
(plot
使用的方法应用于glm
对象,因为glm
是lm
的子类并且没有自己特定的绘图方法)根据which
参数显示诊断图,which
的默认值与上面的wplot
相同。所以基本上:弄清楚如何创建单个子图。