首页 理论教育 R绘图:par()和layout()重要函数的应用

R绘图:par()和layout()重要函数的应用

时间:2023-11-22 理论教育 版权反馈
【摘要】:函数par()、layout()是进行图形布局和控制的重要函数。函数基本格式如下:不同于par()函数等分绘图区域,layout()函数可以分配面积不同的区域,主要通过区域控制变量mat来实现。

R绘图:par()和layout()重要函数的应用

函数par()、layout()是进行图形布局和控制的重要函数。

1.par()函数

在画图前,首先要通过par()函数参数设计图形的布局,可以运用具体的标签值或标签向量来完成。常用的par()函数的参数功能及默认值如表1.6.1所示,线的类型和宽度如图1.6.1所示,pch从1到25的取值对应的不同绘图符号如图1.6.2所示。

表1.6.1 常用的par()函数的参数功能及默认值表

续表

图1.6.1 线的类型与宽度举例

图1.6.2 pch从1到25的取值对应的不同绘图符号

2.layout()函数

对于等分绘图区域来说,par()函数能够完成相应的任务,如果对绘图区域分配不同面积的部分,每部分分别画图就需要用到layout()函数。

函数基本格式如下:

不同于par()函数等分绘图区域,layout()函数可以分配面积不同的区域,主要通过区域控制变量mat来实现。

mat是矩阵对象,包含矩阵中排列的元素(这些元素都是非负整数)以及行数、列数。

·heights:一个数值向量,规定最终各行的高度比,配合mat对象实现图形区域的设置。

·widths:一个数值向量,规定最终各列的宽度比,配合mat对象实现图形区域的设置。

·respect:配合其他参数加以设置,说明是分别独立完成的。

·layou.show():查看设置区域安排。

我们通过下面的例子看看如何实现控制区域面积的选取。

layout(mat=matrix(c(1,2,3,3),2,2),widths=c(2,1))

sz-layout(mat=matrix(c(1,2,3,3),2,2),widths=c(2,1))#设置两行两列区域第二列是一个图的控制情况并存放于sz(www.xing528.com)

layout.show(sz)#显示区域设置情况

par(mai=c(0.8,0.8,0.1,0.1))#设置区域边界

x-rnorm(3000)#形成3 000个标准正态随机变量随机数,并存放于x中

y-rt(3000,10)#形成3 000个自由度为t的随机变量并存放于y中

hist(x,freq=FALSE,col="lightblue",xlab="x",ylab="Density",ylim=c(0,0.4),main="")#画直方图

lines(density(x),col="red",lty=2,lwd=2)#增加密度曲线

hist(y,prob=TRUE,col="lightblue",xlab="x",ylab="density",ylim=c(0,0.4),main="")#画直方图

lines(density(x),col="red",lty=2,lwd=2)#增加密度曲线

boxplot(x,col="red",lwd=1)#画箱线图,如图1.6.3所示

图1.6.3 绘制竖箱线图

sz1-layout(mat=matrix(c(1,2,3,3),2,2,byrow=TRUE),heights=c(2,1)) #设置两行两列区域第二行是一个图的控制情况并存放于sz1

layout.show(sz1)#显示区域设置情况

par(mai=c(0.8,0.8,0.1,0.1))#设置区域边界

x-rnorm(3000)#形成3 000个标准正态随机变量随机数,并存放于x中

y-rt(3000,10)#形成3 000个自由度为t的随机变量并存放于y中

hist(x,freq=FALSE,col="lightblue",xlab="x",ylab="density",ylim=c(0,0.4),main="")#画直方图

lines(density(x),col="red",lty=2,lwd=2)#增加密度曲线

plot(x,y,xlab="x",ylab="y")

boxplot(x,col="red",lwd=1,horizontal=TRUE)#画箱线图,如图1.6.4所示

图1.6.4 绘制横箱线图

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈