fig r函数_R 基础绘图包之高级绘图函数

1、plot()

泛型函数,对于不同的数据可以绘制出不同的图形。

参数:

type: 表示所绘制散点图的类型。'p'表示绘制散点,'b'表示点连线,线不穿过点,'l'表示绘制线图,'s'表示绘制阶梯,'o'表示绘制点连线,此处线条穿过每一个点,‘n’表示不绘制任何图形元素。

type = c('p','b','l','s','o','n')

par(mfrow=c(2,3)) # 切分画布

for(i in 1:6){

plot(1:10,type=type[i],main=paste('The plot type is: ', type[i]))

}

main: 定义图形标题;

xlab: 定义横轴标签;

ylab: 定义纵轴标签;

axes=FALSE, 不显示坐标轴

xlim,ylim: 设置坐标轴的取值范围,该参数接受一个向量,即xlim=c(a, b), a和b分别表示坐标轴的起始和终止坐标。

2、par()

专门用来设置绘图参数的函数,par()函数对于图形参数的改变是永久性的,意思是,当打开R,直至R关闭,par()函数中的参数对你所绘制的每张图都管用。有时,我们只需要一次调用par(),而不需要它一直工作,此时有两个方法:其一:在作图前,将par()函数中所有参数保持为一个实名对象,等到图形绘制完毕,将这个实名对象释放出来即可;其二:绘图完毕后,直接调用dev.off()函数关闭绘图框,这样就不会影响下一幅图了。

adj: 用于调整图中字符的相对位置,属于微调。取值adj=c(x, y),表示字符边界矩形框的左下角相对坐标点(x, y)的位置调整。注意此参数的目的是图形微调,所以x和y的取值一般不会超过1,取值过大的话,容易导致图形元素超过图形边界,从而无法在图片上显示。

ask: 逻辑参数取值TRUE/FALSE,在没有事先将画布切分成若干小区域,但又同时画了好几张图时,R默认是一张画布只显示一张图,当ask=FALSE时,所有的图都会在绘图窗口一闪而过,所以为了清楚展示每一张图,设ask=TRUE,这时R会弹出一条消息,中文大意是“第一张图看好了吗?要不要切换到下一张,要的话,请按enter键”。当按下enter键后,第二张图就会显示出来。

bg: 颜色参数,用于设置绘图区域的背景色。

par(bg='green')

plot(1:10)

bty: 设置图形边框样式,默认绘制图形四周边框,状似一个‘口’字,可取的值有'o','l','7','c','u', ']',注意,bty参数并不能将x轴和y轴去除,因此将参数设为'7',虽然只绘制上方和右边的边框,但是此时x轴和y轴并不会消失。

bty = c('o','l','7','c',']','u')

par(mfrow=c(3,2)) # 切分画布,3行2列

for(i in 1:6){

par(bty=bty[i], col.axis='red', col.lab='blue')

plot(1:5,main=paste('The bty is', bty[i], sep=':'))

}

cex: 该参数用来设置图上的元素,比如文字或者符号的缩放倍数,接受一个正数,默认值为1, 当设置为1.5时,则表示图形上的元素为默认的1.5倍大小。有四个衍生参数:cex.lab; cex.main; cex.sub; cex.axis; 分别表示坐标轴标签,图形标题,副标题以及坐标轴刻度标签的缩放倍数。

plot(1:5,cex=1:5)

col: 颜色参数,设置图中元素的颜色。有4个衍生参数:col.lab; col.main; col.sub; col.axis

family: 设置图中文本的字体参数,默认取值有:'serif', 'sans', 'mono', 'symbol'

font: 设置文本字体样式,取值为1,2,3,4,分别表示正常,粗体,斜体,粗斜体。

las: 设置坐标轴刻度标签的样式,取值0,1,2,3,分别表示:总是平行于坐标轴;总是水平;总是垂直于坐标轴;总是垂直。

par(mfrow=c(2,2))

for(i in 0:3){

par(las=i)

plot(1:5,main=paste('The las is', i, sep=':'))

}

lty: 设置线条样式,取值0、1、2、3、4、5、6,分别表示: 不划线;实线;虚线;点线;点划线;长划线;点长划线;

par(mfrow=c(2,3))

for(i in 1:6){

par(lty=i, lwd=i)

plot(1:5, type='l', main=paste('The lty is', i, sep=':'), sub=paste('the lwd is', i, sep=':'))

}

lwd: 设置线条宽度,默认取值为1,用法类似cex参数。注意如果在par()函数中使用该参数时,图形中的所有元素,比如线条、坐标轴以及图形边框的线条均会改变。如果只需图形中线条宽度发生改变,则需要将lwd参数放到绘图函数中。

mar, mai:这两个参数均用来设置图形边界空白宽度,接受一个含有4个元素的数值向量,分别对应图形下,左,上,右的边界宽度。前者默认取值是c(5,4,4,2)+0.1,取值单位是线条宽度(line width); 后者取值单位是英寸。

mfrow, mfcol: 画布切割参数,取值mfrow=c(nrow, mcol), 表示将画布切分为n行,m列,

mgp: 设置坐标轴到画布边缘的宽度,取值为mgp=c(x,y,z),默认为mgp=c(3,1,0), 分别表示坐标轴标题、坐标轴刻度标签、坐标轴线与图形的距离。

pch: 设置点的形状。取值为数字1至25,其中实心点(15~20号)可以有背景色填充。

plot(rep(1:5, times=5),rep(1:5, each=5),pch=1:25,cex=1.5,bty='l',xlim=c(1,5.4),xlab='',ylab='',main='25种不同的点型')

text(rep(1:5, times=5)+0.15, rep(1:5, each=5), labels=1:25, col='red')

srt: 该参数用来控制图形中字符串的旋转角度。常规取值为-360~360,

tck, tcl: 这两个参数都表示坐标轴刻度线的高度,前者取值是与图形宽度和高度的比例值(取值-1~1之间),后者取值是与文本行高的比例值。负值表示坐标轴刻度外向,正值表示向内。

par(mfrow=c(1,2))

plot(1:10,tck=0.03,main='tck=0.03')

plot(1:10,tck=-0.03,main='tck=-0.03')

usr:该参数用于限定画布的大小,取值为usr=c(x1,x2,y1,y2), 分别表示图形x轴的左右极限,y轴的下上极限,即一个矩形区域。

xaxt,yaxt: 设置坐标轴的样式,默认是's',即标准样式。如果不需要坐标轴或者需要自定义坐标轴,那么此处可以设置为‘n’,即表示不绘制坐标轴的刻度和刻度标签,但仍然会绘制一条刻度线。

xlog,ylog:坐标轴取值的log转换参数,默认值为FALSE

fig: 该参数接受一个数值向量,取值为fig=c(x1,x2,y1,y2), 该参数往往配合new=TRUE参数使用,用于在当前图形上添加一幅新的图形。

x

qqnorm(x)

qqline(x, col='red') # 添加正态拟合线,线条为红色

op

hist(x,probability=T,col='light blue',xlab='',ylab='',main='',axes = F)

lines(density(x),col='red',lwd=2) # 添加概率密度曲线

box() # 给新图形加上边框

par(op) # 释放参数

xpd:该参数用于绘制绘图区域的大小,取值为TRUE,FALSE,或者NA。当取值为FALSE时,表示将绘图区域限定在默认的绘图区域内;当取值为TRUE时,表示将绘图区域限定在默认的图形区域;当取值为NA时,表示将绘图区域限定为默认的设备区域。设备区域可以看成时Rstudio中plots窗口的面积,图形区域指图形的‘占地面积’,绘图区域是指图形中点、线、条柱等元素所占的面积,图形中的坐标轴或者图形标题等元素就是出现在图形区域中,而非绘图区域。xpd参数的作用就是在事先设定绘图区域的大小,

par(omi=c(0.1,0.1,0.2,0.2),mai=c(2,2,1,2),xpd=NA) #omi参数用于定义图形区域与设备区域之间的间距,单位是英寸。mai定义绘图区域与图形区域之间的间距,单位英寸。

plot(1:10)

text(3,-5,'这是在绘图区域外添加的文字哟~')

text(-0.5,12,'A',cex=3,family='serif') # 在绘图区域外添加文字

par(omi=rep(0,4),mai=c(2.5,2,1,2),xpd=NA) #omi参数用于定义图形区域与设备区域之间的间距,单位是英寸。mai定义绘图区域与图形区域之间的间距,单位英寸。

plot(1:10)

text(-0.5,12,'A',cex=2,family='serif') # 在绘图区域外添加文字

par(new=T,mai=c(1,2,2.5,2))

plot(1:10)

text(-0.5,12,'B',cex=2,family='serif')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值