将R中的多个图保存为.jpg文件,怎么样?

时间:2013-09-03 05:29:32

标签: r plot histogram

我是R的新手,我将它用于我的概率等级。我在这里搜索了这个问题,但看起来和我想做的不一样。 (如果已经有答案,请告诉我)。

问题是我想在同一个文件中保存多个直方图。例如,如果我在R提示符中执行此操作,我会得到我想要的内容:

library(PASWR)
data(Grades)
attach(Grades) # Grade has gpa and sat variables
par(mfrow=c(2,1))
hist(gpa)
hist(sat)

所以我在同一个情节中得到两个直方图。但如果我想把它保存为jpeg:

library(PASWR)
data(Grades)
attach(Grades) # Grades has gpa and sat variables

par(mfrow=c(2,1))
jpeg("hist_gpa_sat.jpg")
hist(gpa)
hist(sat)
dev.off()

它保存文件但只有一个图...为什么?我怎么解决这个问题? 感谢。

此外,如果有一些关于如何使用gplot和相关内容进行绘图的好文章或教程,我们将不胜感激,谢谢。

2 个答案:

答案 0 :(得分:7)

交换这两行的顺序:

par(mfrow=c(2,1))
jpeg("hist_gpa_sat.jpg")

所以你有:

jpeg("hist_gpa_sat.jpg")
  par(mfrow=c(2,1))
  hist(gpa)
  hist(sat)
dev.off()

这样你就可以在做任何与绘图有关的事情之前打开jpeg设备。

答案 1 :(得分:0)

您还可以查看函数layout。有了这个,你可以更自由地安排情节。此示例为您提供了包含3行的图的2列布局。

第一行由一个图占据,第二行由两个图占据,第三行再由一个图占据。这可以派上用场。

x <- rnorm(1000)
jpeg("normdist.jpg")
layout(mat=matrix(c(1,1,2,3,4,4),nrow=3,ncol=2,byrow=T))
boxplot(x, horizontal=T)
hist(x)
plot(density(x))
plot(x)
dev.off()

检查?layout如何解释矩阵'mat'(layout的第一个参数)。