在R中使用函数par()或layout()或fig=可以容易地组合多幅图形为一幅总括图形
1.par()
你可以在par()函数中使用图形参数mfrow=c(nrows, ncols)来创建按行填充的、行数为nrows、列数为ncols的图形矩阵。另外,可以使用nfcol=c(nrows, ncols)按列填充矩阵。
举例来说,以下代码创建了四幅图形并将其排布在两行两列中:
(备注:本人编程习惯,由于Rstudio plot窗口输出图形很不方便,所以图形一律输出至本地,读者可以将图形输出部分删除)结果如图:
作为第二个示例,让我们依3行1列排布3幅图形。代码如下:
结果如下:
2.函数layout()
layout(mat, widths = rep.int(1, ncol(mat)),heights = rep.int(1, nrow(mat)), respect = FALSE)
函数layout()的调用形式为layout(mat),其中的mat是一个矩阵,它指定了所要组合的多个图形的所在位置。在以下代码中,一幅图被置于第1行,另两幅图则被置于第2行:
结果如下:
为了更精确地控制每幅图形的大小,可以有选择地在layout()函数中使用widths=和heights=两个参数。其形式为:
widths = 各列宽度值组成的一个向量
heights = 各行高度值组成的一个向量
结果如图:第1行中图形的高度是第2行中图形高度的三分之一。除此之外,右下角图形的宽度是左下角图形宽度的四分之一
如果想要了解layout()更多信息,请查询help(layout)
3.fig=
多幅图形布局的精细控制-图形参数fig=以下代码通过在散点图上添加两幅箱线图,创建了单幅的增强型图形
小白学习R,希望能帮上大家