您好,欢迎访问三七文档
R基础绘图一、基础绘图工具1.绘图函数2.绘图参数介绍3.画图面板分割4.图形保存二、图形案例三、其它图形包R绘制的图形2+左图maps包map()右图PBSmapping包addBubbles()3+fields包实例spdep包实例前言学习R绘图没有什么技巧,只有记住常用参数的含义及用法,知道怎么去查找未知参数的含义及用法,再就是多多绘图,什么东西用得多了,自然就熟了。如果需要更深入的了解,使用R帮助。R使用帮助:?加上函数或参数名。例:?plot,?legenddemo(graphics)demo(persp)R绘图界面简介R的绘图界面中总共分为三部分——outermargins,figureregion,andplotregion。figureregion包括plotregion。一、基础绘图工具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(x~y|z)关于z的每个数值(或数值区间)绘制x与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)各点到(x1,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、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=主标题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=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,mfrowc(nr,nc)的向量,前者按列分隔绘图窗口,后者按行分隔绘图窗口pch绘图符号的类型ps文字大小pty绘图区域类型tck轴刻度长度,tck=1时,则绘制gridxaxt,yaxt如果xaxt=“n”,设置x轴不显示,如果yaxt=“n”,设置y轴不显示par是设置全局绘图参数的函数。ask:par(ask=TRUE),产生新的绘图之前提示操作。new:FALSE:默认,新图在下一个figureregion生成;TRUE:新图在当前figureregionmfcol:mfcol=c(3,2):3行2列分割图形界面。mfrow:以行的方式分割图形界面。mfg:mfg=c(2,2,3,2):图片在3行2列图形界面中第二行,第二列的位置mar=c(a,b,c,d):设置plotregion与figureregion底部、左边、上部、右边的距离,单位英寸。mai=c(a,b,c,d):设置plotregion与figureregion底部、左边、上部、右边的距离,单位是文本行数。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,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,labels=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,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)控制连线的类型lty:1:实线,2:虚线,3:点线,4:点虚线,5:长虚线,6:双虚线控制线的宽度lwd:1为正常大小,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=linetypeandlinewidth,font.lab=2,cex.lab=1.2)abline(h=3:8,lty=line_type,col=colors()[120: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,tiffpdf(plot.pdf,width=4,height=4)png(plot.png,width=400,height=600)dev.off()#绘制完图形后关闭图形设备通过菜单命令保存图形1.打开绘图窗口,不绘制任何对象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=Maintitle,sub=subtitle,xlab=x-label,ylab=y-label)22一般绘图步骤23123456二、图形案例散点图——点线混合图require(stats)head(cars)plot(cars[,1],cars[,2],pch=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)+50lines(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(plotwithpoint,lines,points))散点图——并列散点图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:1000]a[,3]=sample(1:100000)[1:1000]plot(a[,2],a[
本文标题:R语言绘图基础
链接地址:https://www.777doc.com/doc-4137602 .html