这是一个有态度的公众号“医学方”由一批临床医师和科研人创立,始终致力于服务“医学人”,将最前沿、最有价值的临床、科研原创文章X给各位临床医师、科研人员
既往“缤纷灿烂R语言(R语言高阶课程)”推文
1.R语言作图!R语言作图!R语言作图!说三遍!!|【缤纷灿烂R语言】|R语言高阶课程
2.基础包中的降龙十八掌:par函数详解(上)|【缤纷灿烂R语言】|R语言高阶课程
第三期:par函数详解(下)医学方R语言高阶课程:缤纷灿烂R语言
3
hello,大家伙,我是Leopard!我们废话少说,紧接着上一期的步伐,继续介绍par()函数的其他几个参数。
lwd(使用指数:五颗星):线条宽度,默认为1,类似于cex参数。见图1-1-6。
par(mfrow=c(2,3))
for(iin1:6){
par(lty=i,lwd=i)
plot(1:5,type=’l’,main=paste(‘theltyis’,i,sep=’:’),sub=paste(‘thelwdis’,i,sep=’:’))}
图1-1-6
mar(使用指数:四颗星):设置图形边界空白宽度,按照顺时针方向,下,左,上,右。
mfrow,mfcol(使用指数:五颗星):分割画布参数,取值为mfrow=c(nrow,ncol),即将画布切分为n行n列。这个参数在前文介绍过。mfcol与mfrow类似。
mgp(使用指数:三颗星):设置坐标轴到画布边缘的宽度,取值为mgp=c(x,y,z),默认为mgp=c(3,1,0),分别表示坐标轴标题、坐标轴刻度线标签和坐标轴线的距离大小。
pch(使用指数:五颗星):设置点的形状(图1-1-7)。1-25个点分别代表25个不同的点的形状,其中21-25是可以有背景色填充的。
plot(rep(1:5,times=5),rep(1:5,each=5),pch=1:25,cex=1.5,
bty=’l’,xlim=c(1,5.4))
text(rep(1:5,times=5)+0.15,rep(1:5,each=5),labels=1:25,col=’red’)
图1-1-7
srt(使用指数:四颗星):控制字符串的旋转角度参数。取值0-360,也就是一个角度值。(见图1-1-8)
plot(1:25,pch=1)
text(x=c(5,10,20),y=c(7,15,10),col=’red’,labels=c(‘IloveR’,’Iloveyou’,’IloveFudan’),srt=30)
#text()是低级绘图函数,详见后文。
图1-1-8
tck,tcl(使用指数:三颗星):这两个参数都表示坐标轴刻度线的高度,前者取值是与图形宽高的比例值(-1~1之间),后者取值是与文本行高的比例值。负值表示坐标轴刻度向外,正值表示向内。
usr(使用指数:三颗星):表示画布的大小,取值为usr=c(x1,x2,y1,y2),分别表示画布x轴的左右极限,y轴的下上极限。如果你的坐标轴进行了log变换,那么usr参数的实际值都是相应参数的10次幂。
xaxt,yaxt(使用指数:三颗星):坐标轴样式,默认是‘s’,即标准样式。如果你不需要坐标轴,或者是需要自定义坐标轴,那么此处可以设置为‘n’,即表示不画坐标轴。
xlog,ylog(使用指数:四颗星):顾名思义,log转换参数,默认是FALSE。
fig(使用指数三颗星):该参数接受一个数值向量,取值为fig=c(x1,x2,y1,y2)。最主要的功能就是当你要在当前的画布上添加一幅新图时,配合new=TRUE参数使用。如图1-1-9.
n<-1000
x<-rnorm(n)#生成服从正态分布的1000个随机数
qqnorm(x)#对这1000个随机数进行正态性检验
qqline(x,col=”red”)#添加正态拟合线
op<-par(fig=c(.02,.5,.5,.98),new=TRUE)
#设置par函数参数,fig参数定义了新图形的四个角的位置
hist(x,probability=T,
col=”lightblue”,xlab=””,ylab=””,main=””,axes=F)
#开始画新图形
lines(density(x),col=”red”,lwd=2)#绘制密度曲线
box()#给新图形加上边框
par(op)#释放参数
图1-1-9
以上21个参数,都是par()函数的较为常用的。其中,有一些参数只能在par()中实现,而绝大部分参数可以在高级绘图函数中实现,效果等同于在par()中实现。下面列出的参数只能在par()中设置和实现。
ask;fig;fin;lheight;mai;mar;mfcol;mfrow;mfg;new;oma;omd;omi;pin;plt;ps;pty;usr;xlog;ylog.
此外,有一点非常值得注意,par()函数对于图形参数的改变是永久性的,这是什么意思呢,意思是说,当你打开R,直至R关闭,par()函数中的参数对于你所作的每张图都管用。但是现实情况是,我们有时候只需要一次调用par,而不希望它一直工作。此时,有两个办法:其一,在作图之前,将par()函数中的所有参数保存为一个实名对象,等到图形绘制完毕,将这个实名对象释放出来即可;其二,比较简单粗暴,图形绘制完毕后,直接调用dev.off()函数关闭绘图框,这样就不会影响下一幅图了。方法一的结果如代码所示:
op=par(mfrow=c(1,2),col=’red’,pch=22)#设置图形参数
plot(1:5)#绘图
par(op)#释放图形参数
plot(1:5)#这幅图不受之前设置的par()参数影响。
好了,par()函数的参数就介绍这么多,基础绘图包的高级绘图函数和低级绘图函数大部分都会依赖于这个函数,因此我把它放在第一个进行讲解。希望大家多多练习。下期我们开始介绍基础绘图包的全真七子!seeyou~
温馨提示:“缤纷灿烂R语言”为医学方推出的R语言高阶课程,如果是基础较薄弱的童鞋可以出门右转翻阅我们面向零基础朋友的R语言基础教程:一本R书走天涯~
一本R书走天涯往期推文:
1.【一本R书走天涯】第一期:转角遇到R|医学方R语言专题
2.【一本R书走天涯】第二期:R包的安装|医学方R语言专题
3.【一本R书走天涯】第三期:向量的那些事儿|医学方R语言专题
4.【一本R书走天涯】第四期:R语言扫地僧|医学方R语言专题
5.字符串的对与错|【一本R书走天涯】第五期|医学R语言速成精品专题
6.悄悄告诉你一个关于“因子”的故事|【一本R书走天涯】|R语言基础课程
7.R语言的金刚琢|【一本R书走天涯】第七期|医学方R语言基础课程
8.“矩阵”革命!|【一本R书走天涯】第八期|“医学方”R语言基础课程
9.聊聊【数组】|【一本R书走天涯】第九期|“医学方”R语言基础课程
10.第十期:数据框前传|一本R书走天涯|“医学方”R语言基础专题
“医学方”由一批临床医师和科研人创立,始终致力于服务“医学人”,将最前沿、最有价值的临床、科研原创文章X给各位临床医师、科研人员
医学方已推出“国自然X申请”“临床数据挖掘”、“基因数据挖掘”、“R语言教程”、“医学统计学”、“微创动物实验培训”等多个专题课程,如需了解课程详细推文,可关注“医学方”公众号,点击“精品专题”进入
想了解“医学方”最新视频课程动态?可登陆腾讯课堂或网易云课堂收看
目前已有课程:
(1)医学方|医学统计学公开课|石小白老师教您轻松学统计(公益免费课程)
(2)医学方|医学数据挖掘精品课程|豪斯医生手把手教您如何数据挖掘
腾讯课堂:https://medfun.ke.qq.com
网易云课堂:http://study.163.com/u/ykt146746679111
2
客服电话:15821255568
客服微信:yixuefang1234
温馨提示:医学方还设有专门的讨论X哦~各位明星导师都在X中,可以解答各位的遇到的问题,如有兴趣,可以加客服微信后加入X聊~
微信公众号:
如果你觉得文章还不错,就请点击右上角选择发送给朋友或者转发到朋友圈。您的支持和鼓励是我们最大的动力。喜欢就请关注我们吧~
长按二维码
关注我们