R代码不';不保存打印图像
以下代码生成一个图像:R代码不';不保存打印图像,r,plot,png,levelplot,R,Plot,Png,Levelplot,以下代码生成一个图像: library(latticeExtra) x=runif(40) y=runif(40) z=runif(40) png(filename=paste(i,".png",sep="")) levelplot(z ~ x + y, panel = panel.levelplot.points, col.regions = rainbow(50)) dev.off() 但是下面的代码没有。为什么? library(latticeExtra) for(i in seq(1,
library(latticeExtra)
x=runif(40)
y=runif(40)
z=runif(40)
png(filename=paste(i,".png",sep=""))
levelplot(z ~ x + y, panel = panel.levelplot.points, col.regions = rainbow(50))
dev.off()
但是下面的代码没有。为什么?
library(latticeExtra)
for(i in seq(1,5)) {
x=runif(40)
y=runif(40)
z=runif(40)
png(filename=paste(i,".png",sep=""))
levelplot(z ~ x + y, panel = panel.levelplot.points, col.regions = rainbow(50))
dev.off()
}
好吧,我会把我在评论里写的写下来作为回答 当在自己的循环或函数中打印
lattice
或ggplot2
时,必须显式打印lattice
/ggplot2
打印
试试这个:
library(latticeExtra)
png(filename="plot_%02d.png")
for(i in seq(1,5)) {
x=runif(40)
y=runif(40)
z=runif(40)
# Assign your lattice plot to myPlot
myPlot <- levelplot(z ~ x + y, panel = panel.levelplot.points, col.regions = rainbow(50))
print(myPlot)
}
dev.off()
库(latticeExtra)
png(filename=“plot_u%02d.png”)
(i)在下文(1,5)中){
x=runif(40)
y=runif(40)
z=runif(40)
#将晶格图指定给myPlot
我的绘图对于lattice
绘图,我认为必须显式地打印它们才能将它们保存在一个循环中。例如latPlot,请参见R常见问题解答中的此链接:我也有同样的问题,但在plot(NA,xlim=0:1,ylim=0:1,bty=“n”,axes=0)中有(即plot()
而不是ggplot
)。但此解决方案似乎不适用于此。我拥有的代码工作正常,但只要我将png()
放在它前面(和dev.off())之后,它无法写入文件,甚至无法在RStudio查看器中显示绘图pane@stevec最好把你的问题作为一个新问题来问。据我所知,plot()
不需要print
解决方法