R语言基础培训第三讲R绘图.ppt

上传人:小飞机 文档编号:5447046 上传时间:2023-07-08 格式:PPT 页数:48 大小:1.58MB
返回 下载 相关 举报
R语言基础培训第三讲R绘图.ppt_第1页
第1页 / 共48页
R语言基础培训第三讲R绘图.ppt_第2页
第2页 / 共48页
R语言基础培训第三讲R绘图.ppt_第3页
第3页 / 共48页
R语言基础培训第三讲R绘图.ppt_第4页
第4页 / 共48页
R语言基础培训第三讲R绘图.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《R语言基础培训第三讲R绘图.ppt》由会员分享,可在线阅读,更多相关《R语言基础培训第三讲R绘图.ppt(48页珍藏版)》请在三一办公上搜索。

1、R绘图基础,demo(graphics),R绘图演示:,R绘图特点:自由,2.常用绘图函数,2.1 par()和 plot()2.2 图形元素2.3 常用图形绘制,2.1 par()和 plot(.),par()的功能:用来设置或者获取图形参数 特点:设置后图形参数永久改变,除非关闭绘图窗口参数:可以进行70多种参数设置,分为两类:1.仅能由par()函数进行设置的参数;2.也可以由其他绘图函数进行设置的参数。输入par()可以查看par函数所能设置的参数列表,par()常用参数详解,bg 设置图形背景色,bty 设置图形边框样式;取值为字符o,l,7,c,u,之一,plot(1:10),pa

2、r(bg=red)plot(1:10),par(bty=u)plot(1:10),par(bty=l)plot(1:10),par()常用参数详解,cex 图上元素(文本和符号等)的缩放倍数cex.axis 坐标轴刻度标记的缩放倍数cex.lab 坐标轴标题的缩放倍数cex.main 图主标题的缩放倍数cex.sub 图副标题的缩放倍数,plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par(cex=1.5,cex.lab=1.5,cex.axis=1.5,cex.main=1.5,cex.sub

3、=1.5)plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par()常用参数详解,col 图中符号(点、线等)的颜色col.axis 坐标轴刻度标记的颜色col.lab 坐标轴标题的颜色col.main 图主标题的颜色col.sub 图副标题的颜色用colors()函数可以查看R所能设置的600多种颜色,plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par(col=red,col.lab=brown

4、,col.axis=green,col.main=yellow,col.sub=pink)plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par()常用参数详解,font 设置文本字体样式;取值为一个整数;1、2、3、4分别表示正常、粗体、斜体和粗斜体font.axis 坐标轴刻度标签的字体样式font.lab 坐标轴标题的字体样式font.main 图主标题的字体样式font.sub 图副标题的字体样式,plot(1:10,xlab=AGB,ylab=Species richness,pch=1

5、6,main=SPAGB,sub=GTS plot),par(font=1,font.axis=2,font.lab=3,font.main=4,font.sub=1)plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par()常用参数详解,plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),family 设置文本的字体族(衬线、无衬线、等宽、符号字体等)标准取值有:serif,sans,mono,symb

6、ol,par(family=mono)plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par()常用参数详解,las 坐标轴标签样式,取0、1、2、3四个整数之一,表示“总是平行于坐标轴”、“总是水平”、“总是垂直于坐标轴”和“总是竖直”,plot(1:10,xlab=AGB,ylab=Species richness,pch=16,main=SPAGB,sub=GTS plot),par(las=1)plot(1:10,xlab=AGB,ylab=Species richness,pch=16,

7、main=SPAGB,sub=GTS plot),par()常用参数详解,pch 点的符号,用125的数字表示(2125可以填充颜色),也可以用任意字符表示。,par(pch=15)对应的符号就是:,par(pch=“A”)对应的符号就是:A,par()常用参数详解,plot(1:10,type=l),par(lty=2,lwd=3)plot(1:10,type=l),lty 线条虚实样式可以设置为:0 不画线,1 实线,2 虚线,3 点线,4 点划线,5 长划线,6 点长划线;或者相应设置如下字符串:blank,solid,dashed,dotted,dotdash,longdash,two

8、dash;还可以用由十六进制的数字组成的字符串表示线上实线和空白的相应长度,如F8lwd 线条宽度;默认为1,par()常用参数详解,plot(1,type=n)text(1,1,R Graphics,cex=2),srt 字符串的旋转角度,取一个角度数值,par(srt=45)plot(1,type=n)text(1,1,R Graphics,cex=2),par()常用参数详解,mar 设置图形边界空白宽度;按照“下、左、上、右”的顺序,默认值为c(5,4,4,2),par(mfrow=c(2,2),mar=c(2,2,2,2)plot(1);plot(1);plot(1);plot(1)

9、,par(mfrow=c(2,2)plot(1);plot(1);plot(1);plot(1),par()常用参数详解,xaxs 和 yaxs 坐标轴范围的计算方式默认为r:先把原始数据的范围向外扩大4%,然后用这个范围画坐标轴;另外一种取值i表示直接使用原始数据范围,par(xaxs=i,yaxs=i)plot(1:10,cex=2,pch=15,xlim=c(0,10),ylim=c(0,10),plot(1:10,cex=2,pch=15,xlim=c(0,10),ylim=c(0,10),plot(x,y,.)常用参数,type 图形样式类型,可取值:p l b c o h s S

10、n,分别代表不同的图形样式,此外能使用 par()参数中的大部分 参数设置,如设置颜色,大小,图标.,main 主标题;sub 副标题;xlab x轴标题;ylab y轴标题asp 图形纵横轴比例y/x,xlim,ylim 设置坐标系的界限,log 坐标是否取对数,T或Faxes 是否画坐标轴,T或F frame.plot 是否给图形加框,T或F,plot()练习(10分钟),data=runif(10)#随机产生10个数 plot(x=data)#默认方式画图,输入数据为一个向量 plot(x=data,y=data2)#对输入成对的数据进行画图 plot(data,xlab=AGB,yla

11、b=SP,main=AGBSP,sub=GTS)#添加标签 plot(data,col=red)#设置图标颜色 plot(data,col=red,pch=16)#更改图标的类型 plot(data,col=red,pch=16,cex=3)#更改图标的大小 plot(data,type=l)#更改 type 类型为画线 plot(data,type=l,lwd=2)#更改线条的宽度 plot(data,type=l,lwd=2,lty=4)#更改线条的类型 plot(data,type=l,ylim=c(0.4,0.7)#限制y轴的范围 plot(data,type=l,frame.plot

12、=F)#不画边框,2.2 图形基本元素(低级绘图函数),点 points()线-折线lines()、直线abline()、线段segments()、曲线curve()面-矩形 rect()box()、多边形 polygon()文本text()mtext()title()坐标轴 axis()网格线grid()图例 legend(),添加点 points(x,y.),points(x,y=NULL,.),x,y 设置点的坐标位置,其他参数设置大部分同 par()的参数设置,练习(5分钟),plot(5,xlim=c(0,10),ylim=c(0,10),type=n)#绘制底图 points(6,

13、5)#添加点 points(5,5,pch=15)#更改点的图标 points(4,5,pch=15,col=green)#更改点的颜色 points(3,5,pch=15,col=green,cex=3)#更改点的大小,data=data.frame(x=1:10,b=runif(2,8,10)#产生数据框数据 points(data$x,data$y,pch=6,col=blue,cex=3)#添加多个点,添加直线 abline(.),abline(a=NULL,b=NULL,h=NULL,v=NULL,reg=NULL.),a 截距,b 斜率,h是画水平线时的纵轴值,v 是画垂直线时的横

14、轴值,reg 是一个能用函数coef()提取系数(包含斜率和截距)的R对象,如提取线性回归生成的对象,练习(5分钟),data=data.frame(x=1:10,y=runif(10)#产生1个数据框数据 plot(data,ylim=c(-1,1)#绘制底图 model=lm(yx,data=data)#线性回归 abline(model)#将回归线添加到图中 abline(v=6,h=0,lwd=2,col=red)#在x为6和y为0处各添加一条颜色为红色,粗度为2的直线 abline(a=-1,b=0.1,lwd=2,lty=2)#添加一条截距为-1,斜率为0.1的虚线,添加线段 se

15、gments(),segments(x0,y0,x1,y1,.),x0,y0,x1,y1 设置线段起点和终点的坐标,练习(4分钟),plot(5,xlim=c(0,10),ylim=c(0,10),type=n)#绘制底图 segments(2,2,8,8,lwd=2,col=green)#添加起始坐标为(2,2)终点坐标为(8,8),颜色为绿色,粗度为2 的线段 segments(2,1,8,7,lwd=2,lty=2)#更改线的类型,添加矩形 rect()和box(),rect(xleft,ybottom,xright,ytop,density=NULL,angle=45,col=NA,b

16、order=NULL,lty,lwd.),xleft,ybottom,xright,ytop 分别制定左下角和右上角的坐标,用来确定矩形的位置density 设置阴影线的填充密度.当设为一个正值时,那么颜色填充参数col将失效,只有当它被设为负数或NA或NULL时才可以填充颜色angle 设置填充线条的角度,默认为45度border 设置边框颜色,若设置为FALSE或NA,那么将不画边框,练习(8分钟),box(.)专用于给图形添加外边框,lty 和 lwd 分别设定边框和填充线的类型和粗度,plot(5,xlim=c(0,10),ylim=c(0,10),type=n)#绘制底图 rect(

17、1,1,3,3)#添加一个矩形 rect(3,3,6,6,density=8)#填充线密度设置为8根 rect(6,6,9,9,density=8,angle=15)#填充线倾斜度设置为15度 rect(1,7,4,9,col=grey)#灰色填充 rect(1,7,4,9,col=grey,border=red)#矩形边框设置为红色 rect(1,7,4,9,col=grey,border=red,lwd=3)#将矩形边框加粗 box(lwd=3)#给整个图加一个粗度为3的外边框,添加文本 text(),title()和mtext(),title(main=NULL,sub=NULL,xla

18、b=NULL,ylab=NULL,line=NA,.)用于添加标签main,sub,xlab,ylab 设置主、副、x轴、y轴的标题line 设置 文本与图形边缘的距离,text(x,y,labels,.)用于在绘图区域添加文本x,y 设置添加文本的位置 labels 设置添加的文本内容,mtext(text,side=3,line=0,.)用于在绘图框边缘添加文本text 添加的文本内容 side 表示边框位置,可选择1,2,3,4,练习(5分钟),plot(1:10)#绘制底图 title(main=AGBSP,line=1)#添加主标题 text(6,4,labels=R Graphic

19、s,srt=45,cex=2,font=2)#添加文本,并旋转45度,放大2倍,粗体 mtext(text=R side text,side=4)#在绘图框外添加文本,添加坐标轴axis(),axis(side,at=NULL,labels=TRUE,.)side 添加坐标轴的位置,可选值有1,2,3,4at 制定坐标轴上刻度出现的位置labels 设定刻度出现位置的标签,练习(10分钟),op=par()#将默认的par设置保存 par(mfrow=c(1,2)#设置par,绘制一页多张图 plot(1:12,rnorm(12),xlab=,ylab=,axes=F,pch=18,cex=1

20、.5,col=green)axis(side=1,at=1:12,labels=LETTERS1:12,col.axis=blue)#添加坐标轴 box()#添加外边框 plot(1:12,rnorm(12),xlab=,ylab=,axes=F,pch=18,cex=1.5,col=green)axis(side=1,at=seq(2,12,by=2),labels=LETTERS1:6,col.axis=red)#添加坐标轴 注意放大绘图窗口查看变化 axis(2)box()par(op)#回复默认的par设置,添加网格线grid(),练习(3分钟),plot(300,type=n,xla

21、b=,ylab=,xlim=c(1,600),ylim=c(1,400),xaxs=i,yaxs=i)grid(nx=30,ny=20,col=red)grid(nx=6,ny=4,col=black,lty=1,lwd=2)box(lwd=2),grid(nx=NULL,ny=nx,.)nx 和 ny 分别表示横纵轴上网格线的条数,添加图例 legend(),plot(1:8,type=n,xlim=c(0,10)segments(c(2,6),c(2,6),c(6,10),c(6,2),lty=c(1,2),lwd=2)legend(x=0,y=8,legend=c(upwards,dow

22、nwards),lty=1:2,lwd=2,bty=n)plot(runif(20),pch=16,col=red,ylim=c(0,1.2),type=b,lty=1)points(runif(40),pch=15,col=green,type=b,lty=2)legend(x=1,y=1.2,legend=c(red point,green square),pch=16:15,col=c(red,green),lty=1:2)plot(1:8,type=n,xlab=,ylab=,xlim=c(0,10)rect(c(2,6),c(0,0),c(4,8),c(5,7),col=2:3)le

23、gend(x=0,y=8,legend=c(red,green),fill=2:3,bty=n)box(lwd=2),练习(10分钟),legend(x,y=NULL,legend,fill,lty,pch,lwd,angle,density,bty=n.)x y 表示图例的坐标位置(bottomrigt,bottom,bottomleft,left,topleft,top,topright,right)legend 设置图例中的文字说明lty、lwd和 pch 指定图例中点线的样式,设置与图中所画的图一致fill、angle和density 用于填充类的图例设置,如绘图内容为条形图时用于条形

24、图的颜色、阴影线、线的倾斜度等的设置bty 设置图例框的样式,通常设置为n,不绘制边框,2.3 常用图形绘制(高级绘图函数),散点图 plot()或者points()饼图pieplot()直方图 hist()条形图barplot()箱图boxplot()等高线图contour()颜色图image(),饼图 pie(),pie(x,labels=names(x),.)x 数值向量labels 设置标签,练习(5分钟),pie.sales=c(0.12,0.3,0.26,0.16,0.04,0.12)#数据 names(pie.sales)=c(Blueberry,Cherry,Apple,Bos

25、ton Cream,Other,Vanilla Cream)#设置数据标签 pie.col=c(purple,violetred1,green3,cornsilk,cyan,white)#设置颜色 pie(x=pie.sales,col=pie.col)#绘制饼图,直方图hist(),练习(10分钟),par(mfrow=c(2,2),mar=c(2,3,2,0.5)#绘图多张 data(geyser,package=MASS)#调用数据 hist(geyser$waiting,main=(1)freq=TRUE,xlab=waiting)hist(geyser$waiting,freq=FA

26、LSE,xlab=waiting,main=(2)freq=FALSE)hist(geyser$waiting,breaks=5,density=10,xlab=waiting,main=(3)breaks=5)hist(geyser$waiting,breaks=40,col=red,xlab=waiting,main=(4)breaks=40),hist(x,breaks=Sturges,freq=NULL,probability=!freq,.)x为欲估计分布的数值向量;breaks 设置计算分段区间的方法,可以设置为数字,或其他(这个参数决定了直方图的形状)freq 和 probabi

27、lity 取逻辑值T或者F,前者决定是否以频数作图,后者决定是否以概率密度作图,两者互斥,条形图barplot(),练习(10分钟),barplot(height,width=1,space=NULL,names.arg=NULL,legend.text=NULL,beside=FALSE,horiz=FALSE,.)height 重要参数,它指定了条图的长度,这个参数可以接受数值向量或者一个数据矩阵(矩阵的列代表变量,行代表不同观测值)beside 当height为矩阵时起作,beside为TRUE,条图并排排列,设为FALSE为堆砌排列width可以设置条的宽度;space用以设置条之间的

28、间距;names.arg为条形图的标签legend.text 用来添加图例;horiz用以设置条形图的方向(水平或垂直),par(mfrow=c(2,4),mar=c(2,3,2,0.5)barplot(height=1:3)#输入为向量时的图 barplot(height=1:3,col=2:4,space=0.5)#输入为向量时更改颜色和条图间的间距 barplot(height=1:3,col=2:4,space=0.5,horiz=T)#条图方向改为水平 barplot(height=1:3,col=2:4,space=0.5,horiz=T,names.arg=LETTERS1:3)

29、#添加条形图的标签 barplot(height=matrix(runif(6),2,3)#height输入为矩阵时 barplot(height=matrix(runif(6),2,3),beside=T,col=2:3)#height输入为矩阵时,beside设置为T,并更改颜色 barplot(height=matrix(runif(6),2,3),beside=T,col=2:3,ylim=c(0,2.3),legend.text=c(red,green)#添加图例,箱图boxplot(),练习(5分钟),boxplot(x,.);boxplot(formula,.)x 或 formu

30、la 设置绘图的向量或是一个表达式horizontal为TURE 或者FALSE,设定箱线图是否水平放置,data=data.frame(x=rnorm(12),y=rep(1:3,each=4)par(mfrow=c(2,2),mar=c(2,3,2,0.5)boxplot(data$x)boxplot(data$xdata$y)boxplot(data$xdata$y,col=2:4)boxplot(data$xdata$y,col=2:4,horizontal=T),等值线图contour(),练习(5分钟),contour(x,y,z,nlevels=10,method,.)x 和 y

31、 为向量,代表矩阵数据的的坐标刻度(纵横交叉组合成z的坐标),注意他们不代表z矩阵数据所对应的坐标z 为输入的数据矩阵,代表数据大小,比如海拔高度(设置x y z 时需要小心,以防错位)nlevels 设定等高线的条数默认为10,控制疏密,load(file.choose()#载入矩阵数据 par(mfrow=c(1,2),mar=c(2,3,2,0.5)contour(x=1:30*20,y=1:15*20,z=data,xaxs=i,yaxs=i)#绘制图形 contour(x=1:30,y=1:15,z=data,xaxs=i,yaxs=i,nlevels=20,col=red)#修改等

32、高线密度,并改为红色,颜色图 image()和image.plot(),练习(5分钟),image(x,y,z,.)主要的参数设置大致与contour函数相同image.plot()是fields 包中的一个函数,优点是有图例,par(mfrow=c(1,2),mar=rep(1,4),ann=F)image(x=1:30*20,y=1:15*20,z=data,col=terrain.colors(100),axes=F)#绘制image图,并设置颜色 box(lwd=2)image(x=1:30*20,y=1:15*20,z=data,col=terrain.colors(100),axe

33、s=F)contour(x=1:30*20,y=1:15*20,z=data,nlevels=20,lwd=1.5,add=T)#将等高线叠加在上面 box(lwd=2),其他内容,一页多图par()layout()图形输出 pdf()jpeg()等添加error bar人图交互locator()identify()绘图辅助工具 office 软件,一页多图,使用par()进行参数设定 2.使用layout()函数,par(mfrow=c(x,y)或者 par(mfcol=c(x,y)mfrow 以行为顺序画图mfcol 以列为顺序画图c(x,y)设置列和行画的图形个数,练习(3分钟),par

34、(mfrow=c(2,2)#设置一张图内绘制4张小图,以行为顺序画,注意关闭前面的图形窗口par设置才能生效!plot(1:10)plot(1:10,type=l)plot(1:10,type=b)plot(1:10,type=s)?layout()#查看layout 的帮助文件,图形输出,练习(5分钟),利用grDevices包中的若干图形设备,我们可以将R的图形输出为各种格式的文件。基本的图形设备函数有位图设备bmp()、jpeg()、png()和tiff(),以及矢量图设备postscript()和pdf(),打开图形设备之后,所有的R图形都会被生成在该图形设备中,而不会再在窗口中显示,

35、直到图形设备被关闭。,pdf(file,.),file 设置pdf文件名,jpeg(filename,.),filename 设置jpg文件的文件名,pdf(file=output.pdf)#输出文件名为output 的pdf文件 plot(1:10)#绘图 dev.off()#关闭pdf 绘图设备,输出的图形请在工作路径下查找 jpeg(filename=output.jpg)#输出文件名为output 的jpg文件 plot(1:10)#绘图 dev.off()#关闭jpeg绘图设备,输出的图形请在工作路径下查找,dev.off()用于关闭图形设备,添加error bar-方案1,练习(5

36、分钟),使用包sciplot中的函数添加error bar bargraph.CI(.)绘制barplot+error lineplot.CI(.)绘制lineplot+error优点:不需要自己写程序,就可以画barplot+errorbar 和lineplot+error bar缺点:比较死板,无法添加一些类型的error bar,如bootstrap 得到的CI,install.packages(sciplot)#安装sciplot包 library(sciplot)#调用sciplot包 example(bargraph.CI)#查看例子 example(lineplot.CI)#查看

37、例子#具体参数设置请用?bargraph.CI()和?lineplot.CI()查看,添加error bar-方案2,思路:1.根据所需图形类型绘制底图2.error bar采用插入线段的方式插入,优点:自由,方便,适用于任何图形 和任何类型CI的error bar 插入缺点:写程序比较繁琐,#条形图+error bar data=data.frame(x=1:3,y=c(4,8,6),low_CI=c(3.5,7.3,5.4),up_CI=c(4.3,8.6,6.4)#数据 plot(8,type=n,xlim=c(0.5,3.5),ylim=c(0,10),axes=F,xlab=,yla

38、b=,yaxs=i)axis(2)#添加坐标轴 box()#添加图形边框 for(i in 1:3)rect(data$xi-0.3,0,data$xi+0.3,data$yi,lwd=2)#添加矩形 for(i in 1:3)segments(data$xi,data$low_CIi,data$xi,data$up_CIi,lwd=2,col=blue)#添加线段 for(i in 1:3)segments(data$xi-0.05,data$low_CIi,data$xi+0.05,data$low_CIi,lwd=2,col=blue)#添加线段for(i in 1:3)segments(data$xi-0.05,data$up_CIi,data$xi+0.05,data$up_CIi,lwd=2,col=“blue”)#添加线段,练习(15分钟),ggplot2 包绘图,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号