千家信息网

R语言中par()函数的作用是什么

发表于:2024-10-25 作者:千家信息网编辑
千家信息网最后更新 2024年10月25日,这篇文章将为大家详细讲解有关R语言中par()函数的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。R中设置图形参数--函数par()详解R有
千家信息网最后更新 2024年10月25日R语言中par()函数的作用是什么

这篇文章将为大家详细讲解有关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()中的参数可以分为三大类:

只能读取,不能进行设置。包括参数cin,cra,csi,cxy, din。

只能通过函数par()进行设置。包括参数:

"ask",

"fig", "fin",

"lheight",

"mai", "mar", "mex", "mfcol", "mfrow", "mfg",

"new",

"oma", "omd", "omi",

"pin", "plt", "ps", "pty",

"usr",

"xlog", "ylog"

剩下的参数除了函数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

> 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语言中par()函数的作用是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

参数 绘图 函数 坐标 刻度 坐标轴 设备 字符 图形 形式 区域 颜色 数值 标题 单位 范围 区间 名称 字体 字符串 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 服务器启动过程哪些硬件参与了 静态文件服务器 权限 湖北宇安金诚互联网科技有限公司 石家庄志诚网络技术有限公司 互联网科技公司 官网 高中网络安全教育的内容 我的世界服务器如何设置玩家金钱 大数据使用什么数据库 常州网上水费缴费软件开发团队 oracle查询远程数据库se 2021年成都网络安全会议 共享软件开发的特点 菜鸟网络技术大全 我的世界魔法金属服务器打不开 钢铁企业网络安全防护论文 app如何修改软件开发 僵尸毁灭工程服务器怎么设置管理员 网络技术专业介绍视频 安全团队数据库审计 浙江一站式软件开发定制价格 魔兽世界服务器不接受转移 郑州触摸大屏软件开发 关于网络安全公平课程的理解 盛事通数据库 dell服务器统一管理平台 单元格里怎么设置有效数据库 数据库服务器的属性配置 怎么数据库异地备份软件 软件开发到了一定年纪 网络工程师转网络安全
0