2013-11-21 2 views
3
다음 코드는 이미지를 생성

저장하지 않습니다R 코드는 플롯 이미지

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() 
} 
+0

, 난 당신이 명시 적으로'루프에 저장하도록 print' 할 필요가 있다고 생각 등 plot_02.png로, plot_01.png로 두 번째 플롯을 첫 번째 플롯을 저장합니다. 예 : 'latPlot <- levelplot (...); print (latPlot)' – ialm

+1

또한 R FAQ에서이 링크를 참조하십시오 : [7.22 왜 격자/격자 그래픽이 작동하지 않습니까?] (http://cran.r-project.org/doc/FAQ/R-FAQ.html) # Why-do-lattice_002ftrellis-graphics-not-work_003f) – ialm

답변

5

글쎄, 내가 답으로 의견에 쓴 내용 만 적어 두겠습니다.

자신의 루프 또는 함수 내부 lattice 또는 ggplot2 플롯을 플롯, 당신은 명시 적으로 printlattice/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() 

나는 R 자주 묻는 질문의이 부분은 생각 관련성 : 7.22 Why do lattice/trellis graphics not work?

편집 :

png 코드가 루프 앞에 오도록 변경했으며 dev.off()을 루프 외부에 배치했습니다.

png(filename="plot_%02d.png")는`lattice` 플롯에 대한