现在来看下图形的组合和布局,基本作图篇的最后一部分啦。这里用的都是R自带有的作图函数。
1. par() 函数
在之前也有提到用这个函数来定义图形参数。
par(no.readonly = T)#生成一个可以修改的当前图形参数列表。
第一步,我理解是先初始化一下,readonly意思是“只读的”,就是要把里边的参数变成不是只读的,可以修改。
par()函数中,mfrow = c(nrows,ncols),表示按照行填充,几行几列。类似的。mfcol = c(nrows,ncols)表示按列填充。举个例子,mtcars是R自带的数据集。
attach(mtcars)#指定数据集,之后不需要一个个索引直接用列名即可。
par(no.readonly = T)#生成一个可以修改的当前图形参数列表。
par(mfrow = c(2,2))
plot(wt,drat,main = "plot1")
plot(wt,qsec,main = "plot2")
barplot(cyl,main = "plot3")
2.layout()函数
还是上边的三个图,matrix(c(图片对应的位置,例子中表示的是后两个位置都给图3),几行几列,byrow = T表示按行排列)。都是matrix里边的参数。
layout(matrix(c(1,2,3,3),2,2,byrow = T))
plot(wt,drat,main = "plot1")
plot(wt,qsec,main = "plot2")
barplot(cyl,main = "plot3")
结果看起来就是更好一些。
layout(matrix(c(1,2,3,3),2,2,byrow = T),
width = c(2,1),#左右两图宽度的比例为2:1
heights = c(1,1.5))#上下图的高度比例
plot(wt,drat,main = "plot1")
plot(wt,qsec,main = "plot2")
barplot(cyl,main = "plot3")
再做一些调整:
3.如何把多个图合在一个图里。
这个精细的控制,概念稍微有一点抽象。 例子:在图像上边加一个
par(fig = c(0,0.8,0,0.8))
plot(wt,drat,main = "")
par(fig = c(0,0.8,0.6,1),new = T)
barplot(wt)
这个fig = c(x1,x2,y1,y2),表示在一幅图中的位置的坐标,占满整个图就是(0,1,0,1),为了图看起来好一些,可以不断调整位置。
好啦,基本的作图就到这啦,后边学中级高级!!,其实对数据的处理也很重要,或者说更重要,作图还是后边考虑的事情,数据的处理和理解应该也是很重要的!(个人理解)
参考书:R in action