如何在R中将多个图形保存为.jpg文件?

10

我很新于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个回答

16

将这两行的顺序交换:

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
你还可以查看 layout 函数,通过它,你可以更自由地安排图形。这个例子给出了一个 2 列 3 行的图形布局。
第一行有一个图形,第二行有两个图形,第三行又有一个图形。这非常方便。
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的第一个参数)的解释方式。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接