R中配置图形参数–函数par()详解
当前位置:以往代写 > 其他教程 >R中配置图形参数–函数par()详解
2019-06-14

R中配置图形参数–函数par()详解

R中配置图形参数–函数par()详解

R有着很是强大的画图成果,我们可以操作简朴的几行代码绘制出各类图形来,可是有时候默认的图形配置没法满意我们的需要,甚至会遇到各类百般的小问题:如坐标轴可能标题出界了,可能图例说明的巨细可能位置遮盖住了图形,甚至有时候默认的颜色也不能满意我们的需求。如何举办调解呢?这就用到了“强大”的函数par()。我们可以通过设定函数par()的各个参数来调解我们的图形,这篇博文就是对函数par()的各个参数举办一下总结。

函数par()的利用名目如下:


par(…, no.readonly = FALSE)


个中…暗示所有雷同于tag=value形式的参数。下面会详细的对这些参数举办描写。当参数no.readonly=TRUE时,函数par()就只答允有这一个参数了,而且会返回当前画图设备中各个参数的参数值。


每一个图形设备都有本身的画图参数,假如当前还没有打开画图设备,那么函数par()在举办参数配置之前会自动的打开一个新画图设备。
如前面所说,直接在R编辑器中输入呼吁par()可能par(no.readonly=TRUE)都可以获取当前的各个画图参数。
函数par()中的参数可以分为三大类:


  1. 只能读取,不能举办配置。包罗参数cin,cra,csi,cxydin。
  2. 只能通过函数par()举办配置。包罗参数:
  3. “ask”,
  4. “fig”, “fin”,
  5. “lheight”,
  6. “mai”, “mar”, “mex”, “mfcol”, “mfrow”, “mfg”,
  7. “new”,
  8. “oma”, “omd”, “omi”,
  9. “pin”, “plt”, “ps”, “pty”,
  10. “usr”,
  11. “xlog”, “ylog”

  12. 剩下的参数除了函数par()外,还可以通过各类高级画图函数举办配置,如函数plot,points,lines,abline,title,text,axis,image,box,contour,rect,arrows等。

当一个参数的值被设按时,默认的会返回设定之前这个参数的值,我们可以凡是一些变量把这些值生存下来。执行完操纵之后,可以操作这些汗青值举办规复设定(可是不发起这么做,因为大概会引起一些参数值斗嘴)。如:



> x<-par(bg=”red”)
> x
$bg
[1] “transparent”


> plot(1:10)
> par(x)
> plot(1:100)


接下来就对各个参数的寄义举办一下或许的说明,中间会用一些简朴的代码作为示例。



  • 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,2))
    > plot(1:4)
    > title(“plot(1:4)”,adj=0)
    > plot(1:4)
    > title(“plot(1:4)”,adj=1)
  • ann。假如ann=FALSE,那么高程度画图函数会挪用函数plot.default使对坐标轴名称、整体图像名称不做任何注解。默认值为TRUE。


  • > plot(1:4,ann=FALSE,main=’plot(1:4,ann=FALSE)’)#尽量指定了参数main的值,可是图像中仍然没有显示
    > plot(1:4,ann=TRUE,main=’plot(1:4,ann=FALSE)’)

  • ask,逻辑值。若为TRUE(且当前的R会话是可交互状态),则在绘制新图像之前会要求用户输入确认信息。同样的,会对扩展包grid和lattice的输出有影响,甚至大概会应用到没有屏幕输出的设备上(但大概会没有结果)。
  • bg。用于设定画图区域的配景颜色。当通过函数par()挪用时,会同时设定参数new=FALSE。对许多设备来说,该参数的初始值就是该设备的配景颜色值,其他环境下一般为”white”。需要留意一点的是,一些图形函数譬喻plot.default和points等也有名为bg的参数,可是代表的寄义是差异的。
  • bty。该参数值为字符串型,用于限定图形的边框范例。假如bty的值为”o”(默认值)、”l”、”7″、”c”、”u”可能”]”中的任意一个,对应的边框范例就和该字母的形状相似。假如bty的值为”n”,暗示无边框。
  • cex。用于暗示对默认的画图文本和标记放大几多倍。需要留意一些画图函数如plot.default等也有一个沟通名字的参数,可是此时暗示在函数par()的参数cex的基本上再放大几多倍,另外尚有函数points等接管一个数值向量为参数。
  • cex.axis。暗示在当前的cex设定环境下,对坐标轴刻度值字体的放大倍数。
  • cex.lab。暗示在当前的cex设定环境下,对坐标轴名称字体的放大倍数。
  • cex.main。暗示在当前的cex设定环境下,对主标题字体的放大倍数。
  • cex.sub。暗示在当前的cex设定环境下,对子标题字体的放大倍数。
  • cin。这是一个只读参数,不能举办修改。以形式(width,height)返回字体巨细,单元为英寸。这和参数cra的浸染一样,只是丈量单元差异。
  • col。用于设定默认的画图颜色(无能否定这是一个很是出格的参数,今后会总结博文专门接头如何设定颜色R中配置图形参数--函数par()详解)。
  • col.axis。坐标轴刻度值的颜色,默认为”black”。如代码:


  • > par(cex.axis=3,col.axis=”red”)


    > plot(1:4)

  • col.lab。坐标轴名称的颜色,默认为”black”。
  • col.main。主标题的颜色,默认为”black”。
  • col.sub。子标题的颜色,默认为”black”。
  • cra。拜见参数cin的说明。
  • crt。该参数的值为一个暗示度数的数值,用于暗示单个字符的旋转度数,较好为90的倍数。和参数srt的差异之处在于后者是对整个字符串举办旋转。
  • csi。只读参数,返回默认的字符高度,以英寸为单元。
  • cxy。只读参数,以形式(width,height)返回默认的字符宽度、高度,个中par(“cxy”)=par(“cin”)/par(“pin”)。
  • din。只读参数,暗示画图设备的尺寸规格,以形式(width,height)返回,单元为英寸。
  • family。图形中字符的字体范例。较大的长度为200 bytes。默认值为””,暗示回收画图设备的默认字体。
  • fg。图形中显著位置的颜色(如坐标轴、刻度线,边框等),一般默认为”black”。
  • fig。一个数值向量,形式为c(x1, x2, y1, y2),用于设定当前图形在画图设备中所占区域,留意需要满意x1<x2,y1<y2。假如修改参数fig,会自动打开一个新的画图设备,而若但愿在本来的画图设备中添加新的图形,需要和参数new=TRUE一起利用。如代码:


  • > par(fig=c(0,0.5,0,0.5))
    > plot(1:3)


    > par(fig=c(0.5,1,0.5,1))
    > plot(1:3)


    > par(fig=c(0,0.5,0,0.5),new=TRUE)


    > plot(1:3)


  • fin。当前画图区域的尺寸规格,形式为(width,height),单元为英寸。假如修改了这个参数的值,默认为启动一个新的画图设备。

  • font。用于设定回收哪种字型,为一个整数。1代表纯文本(默认值),2暗示黑体,3暗示斜体,4暗示玄色斜体。在Adobe字符编码下,5也可以。

  • font.axis。坐标轴刻度值的字型。

  • font.lab。坐标轴名称的字型。

  • font.main。主标题的字型。

  • font.sub。子标题的字型。

  • lab。以形式c(x,y,len)暗示的数值型向量,用于对坐标轴的名称举办设定。值x和y用于设定x和y轴上的刻度线的个数,而len设定了刻度线的长度(今朝R中这个值是没有效应的)。

  • las。只能是0,1,2,3中的某一个值,用于暗示刻度值的偏向。0暗示老是平行于坐标轴;1暗示老是程度偏向;2暗示老是垂直于坐标轴;3暗示老是垂直偏向。

  • lend。线段的端点样式,参数值可觉得一个整数可能一个字符串。参数值为0可能”round”时,暗示端点样式为圆角(默认值);为1可能”butt”时,暗示端点直接截断;为2可能”square”暗示延伸结尾。如代码:


  • > plot(1:8,type=”n”,ylim=c(1,6))
    > x0<-c(1,2,3,5,6)
    > y0<-rep(1,5)
    > x1<-x0
    > y1<-rep(6,5)
    > segments(x0,y0,x1,y1)
    > x0<-rep(0,4)
    > y0<-seq(1.3,4.3,1)
    > x1<-c(1,6,3,1)
    > y1<-y0
    #默认景象
    > segments(x0,y0,x1,y0,lwd=10,col=”red”)
    #修改参数lend=1
    > y0<-seq(1.6,4.6,1)
    > y1<-y0
    > segments(x0,y0,x1,y0,lwd=10,col=”green”,lend=1)
    #修改参数lend=2
    > y0<-seq(1.9,4.9,1)
    > y1<-y0
    > x0<-x1
    > x1<-c(2,8,5,3)
    > segments(x0,y0,x1,y0,lwd=10,col=”blue”,lend=2)


  • lty。直线范例。参数的值可觉得整数(0为空,1为实线(默认值),2为虚线,3为点线,还可觉得4、5、6等),也可觉得字符串(和整数是一一对应的,如”blank”、”solid”、“dashed”、“dotted”、“dotdash”、“longdash”可能 “twodash”)。

  • lwd。线条宽度。必需为一个整数,默认值为1。详细的实现按照设备而定,有一些画图设备不支持线条宽度小于1。

  • mfcol,mrow。用于设定图像设备的机关(简朴的说就是将当前的画图设备脱离成了nr*nc个子设备),参数形式为c(nr, nc)。子图的画图顺序是按列照旧按行就别离按照是参数指定的是mfcol照旧mfrow。想要实现沟通的成果还可以操作函数layout可能split.screen。

  • mgp。设定标题、坐标轴名称、坐标轴距图形边框的间隔。默认值为c(3,1,0),个中第一个值影响的是标题。

  • new。逻辑值,默认值为FALSE。假如设定为TRUE,那么下一个高级画图呼吁并不会清空当前画图设备。

  • oma。参数形式为c(bottom, left, top, right) ,用于设定外界线。

  • omi。和参数oma的浸染一样,只是这次参数的单元为英寸。

  • pch。暗示点的形状,它的值可觉得数值型(介于0到25之间的数值),也可觉得字符型。1代表圆圈,2代表三角形,3代表“+”号。当pch的值为字符型时,那么点就通过该字符来暗示。

  • pin。当前的维度,形式为c(width,height),单元为英寸。

  • plt。形式为 c(x1, x2, y1, y2),设定当前的画图区域。

  • pty。一个字符型参数,暗示当前画图区域的形状,”s”暗示生成一个正方形区域,而”m”暗示生成较大的画图区域。

  • srt。字符串旋转度数,只支持函数text。

  • tck。刻度线的长度,为一个小于便是的小数,暗示画图区域的高度或宽度的一部门(取高度或宽度中较小的值)。假如tck=1,则暗示绘制网格线。默认值为NA(相当于tcl=-0.5)。

  • tcl。同样可用于设定刻度线的长度,可是和tck的单元差异。它的默认值为-0.5。

  • usr。一个形式为c(x1, x2, y1, y2)的向量,暗示当前画图区域的坐标值范畴:c(xleft, xright, ybottom, ytop)。假如回收的对数刻度(如par(“xlog”)=TRUE),那么x坐标轴的暗示范畴为10^par(“usr”)[1:2],同样也可以获得y坐标轴的暗示范畴。

  • xaxp。一个形式为c(x1, x2, n)的向量,暗示当par(“xlog”)=false时,x坐标轴的刻度线的区间及区间中的刻度线个数。若par(“xlog”)=TRUE,景象就稍微巨大了:若取值范畴较小,那么n是一个负数,且刻度线的漫衍和正常景象(没有对数转换)下相似;若n取值为1、2、3中的一个,c(x1,x2)=10^par(“usr”)[1:2](而且此时par(“usr”)是指par(“xlog”)=TRUE环境下返回的值)。详细表明如下:



  • n=1,在坐标值为10^j(j为整数)处绘制刻度线。


    n=2,在坐标值为k*(10^j)处绘制刻度线,个中k为1可能5。


    n=3,在坐标值为k*(10^j)处绘制刻度线,个中k为1、2可能5。


  • yaxp。同xaxp雷同,暗示y坐标轴的刻度线的区间及区间中的刻度线个数。

  • xaxs。坐标轴x的隔断设定方法。取值范畴为:”r”, “i”, “e”, “s”, “d”。一般来说,计较方法是由xlim的数值范畴确定的(假如xlim指定了的话)。”r”(regular)首先会对数值范畴向两头各延伸4%,然后在延伸后的数值区间中配置坐标值;”i”(internal)直接在原始的数据范畴中配置坐标值;”s”(standard)和”e”(extended)、;”d”(direct)今朝还不支持。

  • yaxs。雷同于xaxs,对坐标轴y的隔断设定方法。

  • xaxt。用于设定x坐标轴的刻度值范例,为一个字符。”n”暗示不绘制刻度值及刻度线;”s”暗示绘制,默认值。

  • yaxt。雷同于xaxt。

  • xlog。一个逻辑值。假如为TRUE,暗示对x轴为对数坐标轴,默认值为FALSE。

  • ylog。雷同于xlog。

  • 最后,说明一点:如何设定颜色?R提供了许多和颜色相关的函数供我们挪用,如colors()、palette()、rainbow()、rgb()、gray()、hsv()、hcl()等等。今后也会对“如何设定颜色”这一问题举办整理,而且接下来关于R语言的博文也会重点存眷于可视化方面,包罗如何绘制散点图、条形图、热点图、舆图等。

      关键字:

    在线提交作业