简单介绍一下如何调整绘图区域及边距区域,如何将多个图形绘制在一张图中,并根据图形的大小及特性调整一下图形分布。
一、绘图及边距区域设置
通过par参数,合理的调整绘图区大小,内边距和外边距的大小,能更好的展示图形。
简单示例如下:
#外边距 margin设置 ,下左上右 ;mai(英寸边距) par(oma=c(3,3,3,3)) #内边距 margin设置 下左上右 omi(英寸边距) par(mar=c(6,5,4,3) + 0.1) # (坐标)标题超出后,可以适当设置 #第一个元素为坐标轴位置到坐标轴标签的距离,以文本行高为单位。第二个元素为坐标轴位置到坐标刻度标签的距离。第三个元素为坐标轴位置到实际画的坐标轴的距离,通常是0。 par(mgp=c(4,2,0.5)) #根据情况调整 plot(1:10,bty="n") #不绘制边框,方便后面展示 #绘图区展示 text(3,7,"绘图区",col="red",cex=2) text(4,9,"微信号:趁早一点点",col="red",cex=1) box("plot",col="red",lty="dotted") #内边距展示 mtext("内边距",side=3,line=2,cex=2,col="green") box("figure",lty="solid",col="green") #外边距展示 outer=TRUE mtext("外边距",side=1,line=1,cex=2,col="blue",outer=TRUE,adj=0) box("outer",col="blue")
二、页面图形布局
绘图时候,有时候需要将绘图区切割,然后展示N(>=2)个图形,可以使用par及layout参数进行设置。
1)par 参数
简单示例:
par(mfrow=c(2,2)) #将画布分割为2*2格局
par(mfrow=c(3,1))# 将画布分割为3行,1列格局
plot(1:10);plot(1:10);boxplot(1:100)
2)layout参数
layout(mat),mat为一矩阵,mat元素的数量决定了一个output device被等分成几份,其中相同元素为一块。
mat用矩阵设置窗口的划分,矩阵的0元素表示该位置不画图,非0元素必须包括从1开始的连续的整数值,比如:1……N,按非0元素的大小设置图形的顺序。
widths用来设置窗口不同列的宽度,heights设置不同行的高度。
A:0不画图,figure1占据了左上角的一个格子,第二行的前两个格子属于figure2,figure3占满最下一行的三个格子。
layout(matrix(c(1,2,3,0,2,3,0,0,3),nr=3))
layout.show(3)
B:按照矩阵编号进行分割,编号相同的为同一块
layout(matrix(c(1:3,3),2,2))
layout.show(3) #显示布局编号
C:设置区块的宽度 高度比例
m<-matrix(c(1,1,2,1),2,2) #建立矩阵
layout(m,widths=c(2,1),heights=c(1,2)) #,宽度为2:1,高度为1:2
layout.show(2)
D:0 不绘图,调整图形比例
m<-matrix(0:3,2,2)
layout(m,c(1,3),c(1,3)) #行为1:3,列为1:3
layout.show(3)
综上:合理的调整图形绘图及边距区域,设计好图形分布,更好的显示自己的想法。待续 。。。