R语言图形函数par()参数应用举例函数par()中的参数可以分为三大类:(1)只可以查询而不可以修改的参数,即readonly参数:cin,cra,csi,cxy,din和page。(2)只能通过par函数进行设置的参数:ask,fig,fin,lheight,mai,mar,mex,mfcol,mfrow,mfg,new,oma,omd,omi,pin,plt,ps,pty,usr,xlog,ylog,ylbias。(3)剩下的是可以被高级绘图函数设置的参数,这些高级绘图函数主要包括:abline,arrows,axis,box,contour,filled.contour,image,lines,mtext,plot.default,plot.window,points,polygon,rect,segments,symbols,text,title等,相应的参数如:lwd,lty,col,cex等。第一部分:readonly参数cin:这是一个只读参数,不能进行修改。以inch(英寸)为单位的字符大小(宽width,高height)。这和参数cra的作用一样,只是测量单位不同。cra:这是一个只读参数,不能进行修改。以raster(栅格,pixel)为单位的字符大小(宽width,高height)。和cin的区别在于单位不同。csi:以inch为单位的字符高度,同cin的第二个值。cxy:以用户坐标单位中默认字符大小(宽,高),是par(cin)/par(pin),其实就是字符对于特定坐标轴的相对大小。din:以inch为单位的设备维度(宽,高),即图像输出设备能够输出的图像的大小。page:一个bool值,如果接下来的图是要开启新的图页,则其值为TRUE;如果接下来的图是不开启新的图页,则值为FALSE.设定new参数可以改变page的值,page实际上是用来指示是否开启新图。第二部分:par限制设定参数adj该参数值用于设定在text、mtext、title中字符串的对齐方向。0表示左对齐,0.5(默认值)表示居中,而1表示右对齐(说明一下,区间[0,1]内的任何值都可以作为参数adj的有效值,并且在大部分的图形设备中,介于区间外的值也是有效的)。注意一下,函数text中的参数adj的值可以以类似于形式adj=c(x,y)调整方向。但是在text中该参数的值影响的是对点的标记,对函数mtext和title来说,参数adj的值影响的是整个图像或设备区域。par(mfrow=c(1,3))plot(1:20,adj=0,main=左对齐)plot(1:20,adj=0.5,main=居中对齐)plot(1:20,adj=1,main=右对齐)51015205101520左对齐Index1:2051015205101520居中对齐Index1:2051015205101520右对齐Index1:20ann如果ann=FALSE,那么绘图函数会调用函数plot.default使对坐标轴名称、整体图像名称不做任何注解。默认值为TRUE。(注意,R中区分大小写,这里的FALSE和TRUE必须全部字母大写)par(mfrow=c(1,3))plot(1:4,ann=FALSE,main='plot(1:4,ann=FALSE)')plot(1:4,ann=TRUE,main='plot(1:4,ann=ann=TRUE)')plot(1:4,main='plot(1:4,ann=default)')1.01.52.02.53.03.54.01.01.52.02.53.03.54.01.01.52.02.53.03.54.01.01.52.02.53.03.54.0plot(1:4,ann=ann=TRUE)Index1:41.01.52.02.53.03.54.01.01.52.02.53.03.54.0plot(1:4,ann=default)Index1:4ask逻辑值。若为TRUE(且当前的R会话是可交互状态),则在绘制新图像之前会要求用户输入确认信息。同样的,会对扩展包grid和lattice的输出有影响,甚至可能会应用到没有屏幕输出的设备上(但可能会没有效果)。axes用于设定是否显示边框。默认值为TRUE(带边框)。若为FALSE,则不显示边框。par(mfrow=c(2,2))x-seq(1,3)y-xplot(x,y,main=默认(带边框),type=l)plot(x,y,main=带边框,type=l,axes=TRUE)plot(x,y,main=不带边框,type=l,axes=F)plot(x,y,main=不带任何注释,type=l,axes=False)1.01.52.02.53.01.02.03.0默认(带边框)xy1.01.52.02.53.01.02.03.0带边框xy不带边框xybg用于设定绘图区域的背景颜色。当通过函数par()调用时,会同时设定参数new=FALSE。对很多设备来说,该参数的初始值就是该设备的背景颜色值,其他情况下一般为white。需要注意一点的是,一些图形函数例如plot.default和points等也有名为bg的参数,但是代表的含义是不同的。par(bg=orange)plot(1:100)020406080100020406080100Index1:100bty该参数值为字符串型,用于限定图形的边框类型。如果bty的值为o(默认值)、l、7、c、u或者]中的任意一个,对应的边框类型就和该字母的形状相似。如果bty的值为n,表示无边框。par(mfrow=c(3,2))par(bty=l)plot(1:10,main='bty=l')par(bty=7)plot(1:10,main='bty=7')par(bty=c)plot(1:10,main='bty=c')par(bty=u)plot(1:10,main='bty=u')par(bty=O)plot(1:10,main='bty=O')2468102610bty=lIndex1:102468102610bty=7Index1:102468102610bty=cIndex1:102468102610bty=uIndex1:102468102610bty=OIndex1:10cex用于表示对默认的绘图文本和符号放大多少倍。需要注意一些绘图函数如plot.default等也有一个相同名字的参数,但是此时表示在函数par()的参数cex的基础上再放大多少倍,此外还有函数points等接受一个数值向量为参数。cex.axis:表示在当前的cex设定情况下,对坐标轴刻度值字体的放大倍数。cex.lab:表示在当前的cex设定情况下,对坐标轴名称字体的放大倍数。cex.main:表示在当前的cex设定情况下,对主标题字体的放大倍数。cex.sub:表示在当前的cex设定情况下,对子标题字体的放大倍数。par(mfrow=c(2,2))plot(1:5,cex.axis=1,cex.lab=1)plot(1:5,cex.axis=1,cex.lab=1.7)plot(1:5,cex.axis=1.7,cex.lab=1)plot(1:5,cex.axis=1.7,cex.lab=1.7)1234512345Index1:51234512345Index1:512345135Index1:512345135Index1:5col用于设定默认的绘图颜色。col.axis:坐标轴刻度值的颜色,默认为black。col.lab:坐标轴名称的颜色,默认为black。col.main:主标题的颜色,默认为black。col.sub:子标题的颜色,默认为black。par(mfrow=c(1,2))plot(1:20,main=colortest,sub='wahaha',col.axis=black,col.lab=black,col.main=black,col.sub=black)plot(1:20,main=colortest,sub='wahaha',col.axis=red,col.lab=blue,col.main=green,col.sub=brown)51015205101520colortestwahahaIndex1:2051015205101520colortestwahahaIndex1:20crt该参数的值为一个表示度数的数值,用于表示单个字符的旋转度数,最好为90的倍数。和参数srt的不同之处在于后者是对整个字符串进行旋转。family图形中字符的字体类型。最大的长度为200bytes。默认值为,表示采用绘图设备的默认字体。fg图形中显著位置的颜色(如坐标轴、刻度线,边框等),一般默认为black。par(fg=green)plot(1:100)020406080100020406080100Index1:100fig一个数值向量,形式为c(x1,x2,y1,y2),用于设定当前图形在绘图设备中所占区域,注意需要满足x1x2,y1y2。如果修改参数fig,会自动打开一个新的绘图设备,而若希望在原来的绘图设备中添加新的图形,需要和参数new=TRUE一起使用。par(fig=c(0,0.5,0.1,0.9))plot(1:10)par(fig=c(0.5,1,0,1),new=TRUE,fg=green)plot(1:20)246810246810Index1:1051015205101520Index1:20fin当前绘图区域的尺寸规格,形式为(width,height),单位为英寸。如果修改了这个参数的值,默认为启动一个新的绘图设备。par(fin=c(3,4))plot(1:10)par(fin=c(5,5))plot(1:10)246810246810Index1:10246810246810Index1:10font用于设定采用哪种字型,为一个整数。1代表纯文本(默认值),2表示黑体,3表示斜体,4表示黑色斜体。在Adobe字符编码下,5也可以。font.axi:坐标轴刻度值的字型。font.lab:坐标轴名称的字型。font.main:主标题的字型。font.sub:子标题的字型。par(mfrow=c(1,1))plot(1:20,main=斜体,sub='黑色斜体',font.axis=1,font.lab=2,font.main=3,font.sub=4)51015205101520斜体黑色斜体Index1:20lab以形式c(x,y,len)表示的数值型向量,用于对坐标轴的名称进行设定。值x和y用于设定x和y轴上的刻度线的个数,而len设定了刻度线的长度(目前R中这个值是没有效应的)。par(lab=c(3,3,5))plot(1:30,main=3个刻度线)par(lab=c(6,6,5))plot(1:30,main=6个刻度线)010203001020303个刻度线Index1:300510152025300510152025306个刻度线Index1:30las只能是0,1,2,3中的某一个值,用于表示刻度值的方向。0表示总是平行于坐标轴;1表示总是水平方向;2表示总是垂直于坐标轴;3表示总是垂直方向。par(mfrow=c(2,2),fg=blue)plot(1:10,las=0,main=刻度值平行于坐标轴)plot(1:10,las=1,main=刻度值总是水平方向)plot(1:10,las=2,main=刻度值垂直于坐标轴)plot(1:10,las=3,main=刻度值总是垂直方向)246810246810刻度值平行于坐标轴Index1:10246810246810刻度值总是水平方向Index1:1024681024681