02.07.2013 Views

现代统计图形 - 科学网—博客

现代统计图形 - 科学网—博客

现代统计图形 - 科学网—博客

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

B.2 一页多图 165<br />

B.2 一页多图<br />

有时候我们需要将多幅图形放在同一页图中,以便对这些图形作出<br />

对比,或者使图形的排列更加美观。这种情况下,我们至少可以有三种选<br />

择:<br />

B.2.1 设置图形参数<br />

在前面3.1小节中我们曾经讲到过mfrow和mfcol两个参数,如果我们<br />

在par()函数中给这两个参数中的一者提供一个长度为2的向量,那么接下来<br />

的图形就会按照这两个参数所设定的行数和列数依次生成图形。本书的图<br />

形中有很多用到过这两个参数,如图3.4、5.4等,另外有一些统计图形函数<br />

也利用了这两个参数设置它们的图形版面,如四瓣图、条件分割图等。<br />

这两个参数的限制在于它们只能将图形区域拆分为网格状,每一格的<br />

长和宽都分别必须相等,而且每一格中必须有一幅图形,不能实现一幅图<br />

形占据多格的功能。下面的两个函数则灵活许多。<br />

B.2.2 设置图形版面<br />

R提供了layout()函数作为设置图形版面拆分的工具,其用法如下:<br />

1 > usage(layout)<br />

layout(mat, widths = rep(1, ncol(mat)),<br />

heights = rep(1, nrow(mat)), respect = FALSE)<br />

1 > usage(layout.show)<br />

layout.show(n = 1)<br />

其中mat参数为一个矩阵,提供了作图的顺序以及图形版面的安排;<br />

widths和heights提供了各个矩形作图区域的长和宽的比例;respect控制着各<br />

图形内的横纵轴刻度长度的比例尺是否一样;n为欲显示的区域的序号。<br />

mat矩阵中的元素为数字1到n,矩阵行列中数字的顺序和图形方格的顺<br />

序是一样的。图B.2解释了这种顺序,该图的矩阵为:<br />

1 > matrix(c(1, 2, 1, 3), 2)<br />

[,1] [,2]<br />

[1,] 1 1<br />

[2,] 2 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!