R语言绘图001-基础参数

简介: R语言绘图001-基础参数

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)') #添加标题为plot(1:4,ann=FALSE)

ask,逻辑值,若为TRUE(且当前的R会话是可交互状态),则在绘制新图像之前会要求用户输入确认信息。同样的,会对扩展包grid和lattice的输出有影响,甚至可能会应用到没有屏幕输出的设备上(但可能会没有效果)。

axis(side, vect)画坐标轴,side=1时画在下边,side=2时画在左边,side=3时画在上边,side=4时画在右边。可选参数at指定画刻度线的位置坐标。

arrows(x0, y0,x1, y1, angle= 30,code=2)同上但加画箭头,如果code=2则在各(x0,y0)处画箭头,如 果code=1则在各(x1,y1)处画箭头,如果code=3则在两端都画箭头; angle控制箭头轴到箭头边的角度

abline(a,b)绘制斜率为b和截距为a的直线,abline(h=y)在纵坐标y处画水平线,abline(v=x)在横坐标x处画垂直线,abline(lm.obj)画由lm.obj确定的回归线。

adj该参数值用于设定在text、mtext、title中字符串的对齐方向。0表示左对齐,0.5(默认值)表示居中,而1表示右对齐(说明一下,区间[0,1]内的任何值都可以作为参数adj的有效值,并且在大部分的图形设备中,介于区间外的值也是有效的)。

函数text中的参数adj的值可以以类似于形式adj=c(x,y)调整图中字符的相对位置;取值:长度为2的数值向量,分别表示字符边界矩形框的左下角相对坐标点(x, y)位置的调整,向量的两个数值一般都在[0; 1]范围中(有些图形设备中也可以超出此范围),表示字符串以左下角为基准、根据自身的宽度和高度分别向左和向下移动的比例,默认为c(0.5, 0.5)。例如c(0, 0)表示整个字符(串)的左下角对准设定的坐标点,而c(1, 0)则表示字符串横向移动了自身宽度的距离,而纵向不受影响。但是在text中该参数的值影响的是对点的标记,对函数mtext和title来说,参数adj的值影响的是整个图像或设备区域。取负值时对齐位置在文本左边的地方;如果给出两个值(例如c(0, 0)),第二个只控制关于文字基线的垂直调整

axes 是否画坐标轴;注意只会影响到是否画出坐标轴线和刻度,不会影响坐标轴标题

asp 图形纵横比y=x;通常情况下这个比率不是1,有些情况下需要设置以显示更好的图形效果,例如需要从角度表现直线的斜率:若asp不等于1,那么45_ 的角可能看起来并不像真实的45_然后我们看看默认的散点图函数plot.default()。对于一般的散点图(两个数值变量之间),我们只需要调用plot()即可,如plot(x, y),而不必写明plot.default(x, y),原因就是plot()是泛型函数,它会自动判断传给它的数据类型从而采取不同的作图方式。plot.default()的参数当然包含了前面介绍的plot()中那些参数,此外还有:x, y 欲作散点图的两个向量;如果y缺失,那么就用x对它的元素位置(1:n的整数)作散点图,lim, ylim 设置坐标系的界限,两个参数都取长度为2的向量,它们的作用类似par()中的usr参数6

bg用于设定绘图区域的背景颜色。当通过函数par()调用时,会同时设定参数new=FALSE。对很多设备来说,该参数的初始值就是该设备的背景颜色值,其他情况下一般为"white"。需要注意一点的是,一些图形函数例如plot.default和points等也有名为bg的参数,但是代表的含义是不同的。这里设置的只是可以画背景色的点的背景色,而不是设置整幅图形的背景色,bg指定背景色(例如bg="red", bg="blue"; 用colors()可以显示657种可用的颜 色名)

bty控制图形边框形状,可用的值为: "o", "l", "7", "c", "u" 和"]" (边框和字符 的外表相像);这些字符本身的形状对应着边框样式,比如(默认值)o表示四条边都显示,而c表示不显示右侧边如果bty="n"则不绘制边框

box()在当前的图上加上边框

cex控制缺省状态下符号和文字大小的值,用于表示对默认的绘图文本和符号放大多少倍。需要注意一些绘图函数如plot.default等也有一个相同名字的参数,但是此时表示在函数par()的参数cex的基础上再放大多少倍,此外还有函数points等接受一个数值向量为参数。默认值为1,如果设为1.5,则表示比默认大小大50%,若设为0.5,则表示比默认值小50%。

cex.axis 坐标轴刻度标记的缩放倍数

cex.lab 坐标轴标题的缩放倍数

cex.main 图主标题的缩放倍数

cex.sub 图副标题的缩放倍数

col 图中符号(点、线等)的颜色,与cex参数类似,具体的细节颜色也可以通过如下参数设置:

col.axis 坐标轴刻度标记的颜色

col.lab 坐标轴标题的颜色

col.main 图主标题的颜色

col.sub 图副标题的颜色

cin,这是一个只读参数,不能进行修改。以形式(width,height)返回字体大小,单位为英寸。这和参数cra的作用一样,只是测量单位不同。

col,用于设定默认的绘图颜色

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")。

fg 设置前景色(若后面没有指定别的颜色设置,本参数会影响几乎所有的后续图形元素颜色,若后续图形元素有指定的颜色设置,那么只是影响图形边框和坐标轴刻度线的颜色)

font控制文字字体的整数(1: 正常,2: 斜体,3: 粗体,4: 粗斜体);和cex类似, 还可用: font.axis, font.lab, font.main, font.sub。

font.axis 坐标轴刻度标签的字体样式

font.lab 坐标轴标题的字体样式

font.main 图主标题的字体样式

font.sub 图副标题的字体样式

frame.plot 是否给图形加框;可以查阅box()函数,作用类似但功能更详细

family 设置文本的字体族(衬线、无衬线、等宽、符号字体等);标准取值有:serif, sans, mono, symbol,参见图3.2坐标(2, 8)处的文本;family = 'symbol'的情况没有显示出来

legend():除了利用x,y设置图例的坐标外,用”topleft”, "center","bottomright"等设置位置非常方便。ncol设置图例的列数, horiz设置图例的排列方向。

lab 设置坐标轴刻度数目(R会尽量自动“取整”2);取值形式c(x, y,len):x和y分别设置两轴的刻度数目,len目前在R中尚未生效,因此设置任意值都不会有影响(但用到lab参数时必须写上这个参数)1对于添加文本,text()函数及其vfont参数可以设置更为详细的字体族和字体样式

las 坐标轴标签样式;取0、1、2、3四个整数之一,分别表示“总是平行于坐标轴”、“总是水平”、“总是垂直于坐标轴”和“总是竖直”。仔细观察图3.2中四幅图的不同坐标轴标签方向

lend 线条末端的样式(圆或方形);取值为整数0、1、2之一(或相应的字符串'round', 'mitre', 'bevel'),注意后两者的细微区别3

lheight 图中文本行高;取值为一个倍数,默认为1

ljoin 线条相交处的样式;取值为整数0、1、2之一(或相应的字符串'round','mitre', 'bevel'),分别表示画圆角、画方角和切掉顶角,观察图3.1的三个直角的顶点

log 坐标是否取对数,TRUE或者FALSE

lty lty控制连线的线型,可以是整数(1: 实线,2: 虚线,3: 点线,4: 点虚线,5: 长虚线,6: 双虚线),或者是不超过8个字符的字符串(字符为从"0"到"9"之间的数字)交替地指定线和空白的长度,单位为磅(points)或象素,例如lty="44"和lty=2效果相同。线条虚实样式:0 )不画线,1 )实线,2 )虚线,3 )点线,4 )点划线,5 )长划线,6 )点长划线;或者相应设置如下字符串(分别对应前面的数字):'blank', 'solid', 'dashed', 'dotted', 'dot dash', 'longdash', 'twodash';还可以用由十六进制的数字组成 的字符串表示线上实线和空白的相应长度,如'F624'

locator(n, type=”n”, …)在用户用鼠标在图上点击n次后返回n次点击的坐标(x, y);并可以在点击处绘制符号(type=”p”时)或连线(type=”l”时),缺省情 况下不画符号或连线

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。

代码示例:

plot(0:6,type='n')

for(i in c(0:6)){abline(h = i, lty=i,lwd=i)}

main 主标题;也可以在作图之后用函数title()添加上

mar控制图形边空的有4个值的向量c(bottom, left, top, right), 缺省值 为c(5.1, 4.1, 4.1, 2.1)

mex 设置坐标轴的边界宽度缩放倍数;默认为1,本参数会影响到mgp参数

mfrow, mfcol 设置一页多图;取值形式c(nrow, ncol)长度为2的向量,分别设置行数和列数,分割绘图窗口为nr行nc列的矩阵布局,按列次序使用各子窗口

mgp 设置坐标轴的边界宽度;取值长度为3的数值向量,分别表示坐标轴标题、坐标轴刻度线标签和坐标轴线的边界宽度(受mex的影响),默认为c(3, 1, 0),意思是坐标轴标题、坐标轴刻度线标签和坐标轴线离作图区域的距离分别为3、1、0;参见图3.1右上方小图

mtext():为四个坐标轴添加标签。mtext(text,side=3, line=0,…)在边空添加用text指定的文字,用side指定添加到哪一边(参照 下面的axis());line指定添加的文字距离绘图区域的行数

mfcol,mrow,用于设定图像设备的布局(简单的说就是将当前的绘图设备分隔成了nr*nc个子设备),参数形式为c(nr, nc)。子图的绘图顺序是按列还是按行就分别根据是参数指定的是mfcol还是mfrow。想要实现相同的功能还可以利用函数layout或者split.screen。

new,逻辑值,默认值为FALSE。如果设定为TRUE,那么下一个高级绘图命令并不会清空当前绘图设备。

oma 设置外边界(Outer Margin)宽度;类似mar,默认为c(0, 0, 0,0),当一页上只放一张图时,该参数与mar不好区分,但在一页多图的情况下就容易可以看出与mar的区别3仔细观察图3.2中宽线条中黑点的位置,在画线时,这些线条的起点和终点(分别用图中的两个黑点表示)都是选择同样的坐标位置!

omi,和参数oma的作用一样,只是这次参数的单位为英寸。

pch 点的符号;pch = 19)实圆点、pch = 20)小实圆点、pch = 21)圆圈、pch = 22)正方形、pch = 23)菱形、pch = 24)正三角尖、pch= 25)倒三角尖,其中,21-25可以填充颜色(用bg参数)

plot():最简单的画图函数。type设置画图的类型(type=”n”表示不画数据),九种可能的取值,分别代表不同的样式:'p')画点;'l')画线5;'b')同时画点和线,但点线不相交;'c')将type= 'b'中的点去掉,只剩下相应的线条部分;'o')同时画点和线,且相互重叠,这是它与type = 'b'的区别;'h')画铅垂线;'s') 画阶梯线,从一点到下一点时,先画水平线,再画垂直线;'S')也是画阶梯线,但从一点到下一点是先画垂直线,再画水平线;'n')作一幅空图,没有任何内容,但坐标轴、标题等其它元素都照样显示(除非用别的设置特意隐藏了)。

points():pch设置点的类型。

pty 设置作图区域的形状;默认为'm':尽可能最大化作图区域;另外一种取值's'表示设置作图区域为正方形

panel.first 在作图前要完成的工作;这个参数常常被用来在作图之前添加背景网格(参见4.5节)或者添加散点的平滑曲线,比如panel.first= grid()

ps控制文字大小的整数,单位为磅(points)

polygon(x, y)绘制连接各x,y坐标确定的点的多边形

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

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

pty,一个字符型参数,表示当前绘图区域的形状,"s"表示生成一个正方形区域,而"m"表示生成最大的绘图区域。

rect(x1, y1, x2, y2)绘制长方形,(x1, y1)为左下角,(x2,y2)为右上角

rug(x)在x-轴上用短线画出x数据的位置

srt 字符串的旋转角度;取一个角度数值,参见图3.1左下方小图中分别旋转30 _和120 _的字符串

sub 副标题

segments(x0, y0,x1, y1)从(x0,y0)各点到(x1,y1)各点画线段

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

tck 指定轴上刻度长度的值,单位是百分比,取值为与图形宽高的比例值(0到1之间)以图形宽、高中最小一个作为基数; 如果tck=1则绘制grid坐标轴刻度线的高度;正值表示向内画刻度线,负值表示向外;默认为不使用它(设为NA}),而使用tcl参数

tcl 坐标轴刻度线的高度;取一个与文本行高的比例值;正负值意义类似tck,默认值为-0.5,即向外画线,高度为半行文本高;观察图3.1左下角小图的坐标轴刻度线

text():在给定坐标的位置写字。text(x, y, labels,…)在(x,y)处添加用labels指定的文字;典型的用法是: plot(x, y, type=”n”); text(x, y, names)

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

title()添加标题,也可添加一个副标题

usr 作图区域的范围限制,取值长度为4的数值向量c(x1, x2, y1, y2),分别表示作图区域内x轴的左右极限和y轴的下上极限;注意,如果采用的对数刻度(如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。

xaxs, yaxs 坐标轴范围的计算方式;取值范围为:"r", "i", "e", "s", "d"。一般来说,计算方式是由xlim的数值范围确定的(如果xlim指定了的话)。"r"(regular)首先会对数值范围向两端各延伸4%,然后在延伸后的数值区间中设置坐标值;"i"(internal)直接在原始的数据范围中设置坐标值;s"(standard)和"e"(extended)、;"d"(direct)目前还不支持。

xaxt,用于设定x坐标轴的刻度值类型,为一个字符。"n"表示不绘制刻度值及刻度线;"s"表示绘制,默认值。

xaxt如果xaxt="n"则设置x-轴但不显示(有助于和axis(side=1, ...)联合使用)

yaxt如果yaxt="n"则设置y-轴但不显示(有助于和axis(side=2, ...)联合使用)

xlog, ylog 坐标是否取对数;默认FALSE

xpd 对超出边界的图形的处理方式;取值FALSE:把图形限制在作图区域内,出界的图形截去;取值TRUE:把图形限制在图形区域内,出界的图形截去;取值NA:把图形限制在设备区域内。

xlab x轴标题

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

yaxp,同xaxp类似,表示y坐标轴的刻度线的区间及区间中的刻度线个数。

yaxs,类似于xaxs,对坐标轴y的间隔设定方式。

yaxt,类似于xaxt。

ylog,类似于xlog。

最后,说明一点:如何设定颜色?R提供了很多和颜色相关的函数供我们调用,如colors()、palette()、rainbow()、rgb()、gray()、hsv()、hcl()等等。以后也会对“如何设定颜色”这一问题进行整理,并且接下来关于R语言的博文也会重点关注于可视化方面,包括如何绘制散点图、条形图、热点图、地图等。

ylab y轴标题

相关文章
|
7月前
|
资源调度 前端开发 数据可视化
R语言参数自抽样法Bootstrap:估计MSE、经验功效、杰克刀Jackknife、非参数自抽样法可视化自测题
R语言参数自抽样法Bootstrap:估计MSE、经验功效、杰克刀Jackknife、非参数自抽样法可视化自测题
|
7月前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
7月前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
7月前
|
机器学习/深度学习 数据可视化
数据分享|R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
数据分享|R语言逻辑回归Logisitc逐步回归训练与验证样本估计分析心脏病数据参数可视化
|
7月前
|
机器学习/深度学习 数据可视化 算法
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
数据分享|R语言决策树和随机森林分类电信公司用户流失churn数据和参数调优、ROC曲线可视化
132 10
|
7月前
|
存储 数据采集 数据可视化
R语言拟合线性混合效应模型、固定效应随机效应参数估计可视化生物生长、发育、繁殖影响因素
R语言拟合线性混合效应模型、固定效应随机效应参数估计可视化生物生长、发育、繁殖影响因素
|
7月前
|
机器学习/深度学习 数据采集 数据可视化
R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
R语言电影数据分析:随机森林探索电影受欢迎程度因素、参数调优可视化
|
7月前
|
数据可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
R语言极值理论:希尔HILL统计量尾部指数参数估计可视化
|
7月前
|
机器学习/深度学习 数据可视化 算法
R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据
R语言梯度提升机 GBM、支持向量机SVM、正则判别分析RDA模型训练、参数调优化和性能比较可视化分析声纳数据
|
7月前
|
存储 前端开发 C语言
数据分享|R语言Bootstrap、百分位Bootstrap法抽样参数估计置信区间分析通勤时间和学生锻炼数据
数据分享|R语言Bootstrap、百分位Bootstrap法抽样参数估计置信区间分析通勤时间和学生锻炼数据