R语言绘图基础_第1页
R语言绘图基础_第2页
R语言绘图基础_第3页
R语言绘图基础_第4页
R语言绘图基础_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、R 基础绘图一、基础绘图工具1. 绘图函数2. 绘图参数介绍3. 画图面板分割4. 图形保存二、图形案例三、其它图形包R绘制的图形2+左左图图 maps包包 map()右图右图 PBSmapping包包 addBubbles() 3+fields 包实例 spdep 包实例前言学习 R 绘图没有什么技巧,只有记住常用参数的含义及用法,知道怎么去查找未知参数的含义及用法,再就是多多绘图,什么东西用得多了,自然就熟了。如果需要更深入的了解,使用R 帮助。R 使用帮助:?加上函数或参数名。例: ?plot,?legend demo(graphics) demo(persp) R 绘图界面简介R 的绘

2、图界面中总共分为三部分outer margins, figure region, and plot region。figure region 包括 plot region。一、基础绘图工具1. 绘图函数:在R中有两种绘图函数1.1 高级绘图函数 创建一个新的图形函数名功能plot(x)以x的元素值为纵坐标、以序号为横坐标绘图plot(x,y)x与y的二元作图pie(x)饼图boxplot(x)盒形图(也称箱线图)hist(x)x的频率直方图barplot(x)x的值的条形图pairs(x)如果x是矩阵或是数据框,作x的各列之间的二元图coplot(xy|z)关于z的每个数值(或数值区间)绘制x

3、与y的二元图matplot(x,y)二元图,其中x的第一列对应y的第一列,依次类推qqnorm(x)正态分位数-分位数图image(x,y,z)x,y,z三元图heatmap(x)热图1. 绘图函数1.2 低级绘图函数 在现有的图形上添加元素函数名功能points(x,y)添加点,散点图lines(x,y)添加线,线text(x,y,labels,)在(x,y)处添加用labels指定的文字mtext(text,side=3,line=0,)在边空添加用text指定的文字,side=1、 2、3、4 (底部、左边、上部、右边)segments(x0,y0,x1,y1)从(x0,y0)各点到(x

4、1,y1)各点画线段arrows(x0,y0,x1,y1,.)同上,但添加箭头abline(a,b)绘制斜率为b和截距为a的直线abline(h=y)在纵坐标y处画水平线abline(v=x)在横坐标x处画垂直线abline(lm.obj)画出lm.obj确定的回归线rect(x1,y1,x2,y2)绘制长方形,(x1,y1)为左下角,(x2,y2)为右上角polygon(x,y)绘制连接各x,y坐标确定的点的多边形legend(x,y,legend)在点(x,y)处添加图例,说明内容由legend给定title()添加标题,也可添加一个副标题axis(side,vect)画坐标轴,1 、 2

5、 、 3 、 4 (底部、左边、上部、右边)box()在当前的图上加边框rug(x)在x轴上用短线画出x数据的位置locator(n,type=n,)获取鼠标在图中点击处的坐标2. 绘图参数介绍选项功能add=FALSE如果是TRUE,叠加图形到前一个图上(如果有的话)axes=TRUE如果是FALSE,不绘制轴与边框type=p指定图形的类型,“p”:点,“l”:线,“b”:点连线,“o”:同上,但是线在点上,“h”:垂直线,“s”:阶梯式,垂直线顶端显示数据,“S”:同上,但是垂直线底端显示数据font字体xlim=,ylim=指定轴的显示范围xlab=,ylab=坐标轴的标签main=主

6、标题sub=副标题 plot(cars,font.lab=2,main=主标题,sub=副标题,type=p,xlim=c(7,20),ylim=c(20,100) plot(cars,font.lab=2,main=主标题,sub=副标题,type=p,xlim=c(7,20),ylim=c(20,100),axes=F)plot(cars,font.lab=2,type=p)plot(cars,font.lab=2,type=l)plot(cars,font.lab=2,type=b)plot(cars,font.lab=2,type=o)plot(cars,font.lab=2,type

7、=h)plot(cars,font.lab=2,type=s)plot(cars,font.lab=2,type=S) +其它常用绘图参数参数功能adj控制关于文字对齐方式bg背景色bty图形边框形状cex符号和文字大小,cex.axis,cex.lab,cex.main,cex.subcol颜色,col.axis,col.lab,col.main,col.subfont文字字体,font.axis,font.lab,font.main,font.sublas坐标轴刻度数字标记方向lty线条样式,1:实线;2:虚线;3:点线;4:点虚线;5:长虚线lwd线的宽度mar图形边空的大小mfcol,

8、mfrowc(nr,nc)的向量,前者按列分隔绘图窗口,后者按行分隔绘图窗口pch绘图符号的类型ps文字大小pty绘图区域类型tck轴刻度长度,tck=1时,则绘制gridxaxt,yaxt如果xaxt=“n”,设置x轴不显示,如果yaxt=“n”,设置y轴不显示par是设置全局绘图参数的函数。ask: par(ask=TRUE),产生新的绘图之前提示操作。new: FALSE:默认,新图在下一个 figure region 生成; TRUE:新图在当前 figure regionmfcol: mfcol=c(3,2):3 行 2 列分割图形界面。mfrow:以行的方式分割图形界面。mfg:

9、mfg=c(2,2,3,2):图片在 3 行 2 列图形界面中第二 行,第二列的位置mar=c(a,b,c,d):设置 plot region 与 figure region 底部、左边、上部、右边的距离,单位英寸。mai=c(a,b,c,d):设置 plot region 与 figure region 底部、左边、上部、右边的距离,单位是文本行数。mgp=c(a,b,c):三个坐标轴成分的位置,轴文本标记、单位记号标记和轴位置与轴线距离;单位是文本行。par(mgp=c(1.6,0.6,0),mar=c(3,3,2,1)X=1:10;Y=1:10cex_type=c(0.7,0.8,0.9

10、,1,2,3,4,5,6,7)plot(X,Y,col=blue,pch=16,cex=cex_type, #绘图符号大小,1是正常大小cex.axis=1.1, #坐标轴刻度数字大小cex.lab=1.2, #坐标轴标签大小cex.main=1.4, #标题文字大小#cex.sub=1.3, #副标题文字大小font.axis=3, #坐标轴刻度数字字体,斜体font.lab=2, #坐标轴标签字体,粗体font.main=4, #标题字体,粗斜体#font.sub=1, #副标题字体,正常main=字体,xlim=c(1,12),ylim=c(1,12)text(X,Y,adj=0,lab

11、els=paste(cex=,cex_type),col=red,cex=1.2,font=3) +R的绘图符号:pch=1:25R的绘图符号:par(mgp=c(1.6,0.6,0),mar=c(3,3,2,1)pch_type=c(1:5,15:19)X=1:10;Y=rep(6,10)plot(X,Y,col=1,pch=pch_type,cex=2,main=pch,font.lab=2)text(X,Y ,adj=-0.5,labels=paste(pch=,pch_type),srt=90)颜色名称:white, black, red, yellow,colors()数字代号:1,

12、 2, 3, 4, 5, 6, 7, 8颜色函数:rainbow, heat.colors, terrain.colors, topo.colors, cm.colors, colors()par(mgp=c(1.6,0.6,0),mar=c(3,3,2,1)pch_type=c(1:5,15:19)X=1:10;Y=rep(6,10)plot(X,Y,col=1:10,pch=pch_type,cex=2,main=pch,font.lab=2)text(X,Y ,col=1:10,adj=-0.5,labels=paste(pch=,pch_type),srt=90) 控制连线的类型 lt

13、y : 1: 实线,2: 虚线,3: 点线,4: 点虚线,5: 长虚线,6: 双虚线控制线的宽度 lwd : 1为正常大小,1为增加宽度par(mgp=c(1.6,0.6,0),mar=c(3,3,2,1)X=1:10;Y=1:10line_type=c(1:6)line_width=seq(from=0.6,by=0.6,length=6)plot(X,Y,col=blue,pch=16,type=n,main=line type and line width,font.lab=2,cex.lab=1.2)abline(h=3:8,lty=line_type,col=colors()120:

14、126,lwd=line_width)text(3:8,3:8,adj=0,labels=paste(lty=,line_type,lwd=,line_width),col=red,cex=1.2,font=3)4. 图形保存输出到文件pdf , postscript , xfig, bitmap, pictex, cairo_pdf, svg, png, jpeg, bmp, tiff pdf(plot.pdf,width=4,height=4) png(plot.png,width=400,height=600) dev.off() #绘制完图形后关闭图形设备通过菜单命令保存图形1.打开绘

15、图窗口,不绘制任何对象plot(x, y, type=n, xlab=, ylab=, axes=F)2.添加坐标点 points(x,y) 3.添加坐标轴axis(1); axis(at=seq(0.2,1.8,0.2), side=2)4.补齐散点图的边框 box() 5.添加标题、副标题、横轴说明、纵轴说明title(main=Main title, sub=subtitle, xlab=x-label, ylab=y-label)22一般绘图步骤23123456二、图形案例散点图点线混合图 require(stats) head(cars)plot(cars,1,cars,2,pch=

16、16,col=red,xlab=speed,ylab=dist,type=p,font.axis=2,font.lab=2,cex.lab=1.5) x=seq(5,25,by=0.1); y=10*sin(x)+50 lines(x,y,col=green,lwd=2) a=5:25; b=2*a+10*cos(a) points(a,b,pch=15,col=blue) legend(topleft,pch=c(16,-1,15),lty=c(-1,1,-1),col=c(red,green,blue),legend=c(plot with point,lines,points)散点图并列

17、散点图a=read.table(file=clipboard,header=T)matplot(a,type=o,pch=15:18,lty=1,bg=yellow,lwd=2,xlab=Position(nt),ylab=Frequency,font=2,font.lab=2,cex.lab=1.5)legend(topright,pch=15:18,lty=1,merge=T,legend=names(a),col=1:4)散点图坐标对数化 a=array(NA, dim=c(1000,3)a,2=sample(1:100000)1:1000a,3=sample(1:100000)1:10

18、00plot(a,2,a,3,log=xy,cex.lab=1.4,cex.axis=1.2,font.lab=2,font.axis=2,xlab=R1,ylab=RS,pch=.,col=red,cex=1.1,axes=F)axis(1,at=axTicks(1),labels=eger(axTicks(1)axis(2,at=axTicks(2),labels=eger(axTicks(2)title(main=R1 VS RS)box()条形图标准条形图 abar=barplot(a,2,ylim=c(0,1.2*max(a,2),cex.lab=1.5,names.arg=a,1,xlab=Length(nt),font.lab=1.5,ylab=Number of small RNAs,space=0.9,col=blue,main=Length distribution)ratio=paste(sprintf(%.2f,a,2/sum(a,2)*100),%,sep=)text(bar,a,2,labels=ratio,adj=c(0.5,0),cex=0.8,font=2,pos=3) abline(h=axTicks(2),lty=2,col=rgb(0,0,0,0.5); box()条形图堆积条形图h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论