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轴标题