R中的1页上有多个图

时间:2014-05-16 03:09:42

标签: r plot

如何在R上的一个pdf页面上绘制7个不同的图形?

我目前使用的是matplot,它似乎没有这个选项。我需要根据数据列绘制数据列。

我最初尝试用格子库做这个,但我似乎无法弄清楚如何绘制数据列。它似乎想要一个功能。

2 个答案:

答案 0 :(得分:3)

要创建绘图的pdf,您可以执行以下操作。要初始化pdf文档,请首先使用带有文件名的pdf函数。最后dev.off()将关闭图形设备并完成pdf。之后,您应该在工作目录中看到一个新文档(在此示例中为' plots.pdf')。

d <- data.frame(matrix(sample(c(1:700), 2000, TRUE), 10, 20))
pdf('plots')
par(mfrow = c(3, 3))  ## set the layout to be 3 by 3
sapply(1:9, function(i) plot(d[,i]))
dev.off()

哪个产生这个pdf

enter image description here

答案 1 :(得分:2)

如果您想使用基本图形执行此操作,我强烈建议您使用layout()功能。它需要一个矩阵来定义如何拆分窗口。它将为矩阵中的每一行和每列的列创建一行。它按照单元格的数量顺序绘制图形。所以如果你传递矩阵

#layout(matrix(c(1:7,7), ncol=2, byrow=T))
#     [,1] [,2]
#[1,]    1    2
#[2,]    3    4
#[3,]    5    6
#[4,]    7    7

第一个图将在左上角,第二个图在右上角等,直到第7个图块一直在底部。如果您愿意,可以通过在右下方指定不同的数字来仅占用左下角。

将布局重置为&#34; normal&#34;只需致电

layout(1)

然后你可以创建一个for循环来制作每个情节。

如果您想要一个绘图进行所有成对比较,pairs()绘图功能可能就是您想要的

dd<-matrix(runif(5*5), ncol=5)
pairs(dd)

或格子等价物为splom()