1、R语言数据可视化介绍1H O O直方图箱线图 11 s u a i:cN O O0 0 0归且口r口40。0-Cl-寸。N一o-5060条形图70 80 90110D D 口a WRua l M a l eRua l f em al eub ali M aleLI巾alil F ema J仑旧 叫LL-w-已 lr.1们仁订 lrlrl 厂T3(l)一过 _0-L).卜-1 Il-7卜 亡 二D-1卜-II-1II1015I:20关联图I25-.-击 笆iii-一 一-一-血 。巴后早-早_B哀X。515一 一:i-一 一 早2025w-:.了.一“会产.,口 i3 小 .”1 。令 八V凸
2、心 几,.“,”心心,。Q .,.,.,.一-一i.于.,俨,.一 5-一 d一 俨,.d “-,,.”5.Q.-,,.,俨?,j,.于:宁“士中 气丿,.1.-.i.俨.,“,.立.二.-俨L”l-.,L一.一-.”己”-o -,-俨 ”一一一一一一.J .j,1,1 ”.-令.-0 .-.一玉,V-.凡 -“-.,-.,-俨俨,1,.,.J.l (I.入怂。.-了0 L745.0L64Oi-54日l ac k巳r叨 们Re d巳lond点图3低级绘图函数低级绘图函数:hist(x$x1)#对科目1绘制直方图,横坐标表示分数区间,纵坐标表示频次。plot(x$x1,x$x2)#对科目1和科目
3、2绘制散点图,大致看出两门课是否存在相关关 系。table(x$x2)#列联函数table,对每个数据进行统计。barplot(table(x$x2)#柱状图绘制函数barplot对统计结果进行绘制。barplot必须和table函数结合使用才有意义。pie(table(x$x2)#饼图函数pie。boxplot(x$x1,x$x2,x$x3)#箱线图boxplot,对三门科目画箱线图。boxplot(x2:4,col=c(red,green,blue)#指定箱线图的颜色。boxplot(x2:4,col=c(red,green,blue),horizontal=T)#使用horizontal
4、=T将箱线图水平放置。stars(x2:4)#对每个人画雷达图。stars(x2:4,draw.segments=T)#对雷达图进行颜色和样式的修改。使用draw.segments=T画扇形。stem(x$x1)#茎叶图#此外,还有多种高级绘图函数points,lines,abline,title,text,axis,image,box,contour,rect,arrows,par等。45用用plot绘制散点绘制散点图图的参的参数数设设置置plot(x$x1,x$x2,main=科目科目1与科目与科目2的关系的关系,#设置标题xlab=科目科目1,#设置横坐标名称,如果不写则默认为该变量的名
5、称ylab=科目科目2,#设置纵坐标名称xlim=c(50,100),#设置横坐标的范围ylim=c(50,100),#设置纵坐标的范围xaxs=r,#xaxs=r,yaxs=i:分别设定 x 和y 轴的形式。i(内部)与 r(预设 值)形式的刻度都会依照资料的范围而自动调整,但是 r 形式的刻度会在刻 度范围两边留一些空隙。yaxs=r,col=red,#设置点的颜色pch=20#设置画图的样式,20表示为圆点)6关于点的样式,上面显示用的是编号为20的样式,那么R其实 提供了很多样式供使用,如下图。参考R语言绘图符号高级绘图函数高级绘图函数:.ug-区 .(I)(叩 _cartestao(
6、Xll m=c.也 匀)乌 .,_,N H I J 口乙 ,心 寸 c oc 心 八 立 thIIUld a:;:,cict勹 加 工:allCll,.n 打f 如w七 a:ts ra-3nx:-.;ri;r.1 f.itout人 暴 J )1 I I勹 1:尸xi Ca心可 立,:1 n立 E-11勺图,luncuc(lC,2切Iggplot2是一个用来绘制图形的R软件包。与其他大多数的图形软件包不同,ggplot是由其背后的一套图形语法所支持。ggplot2可以绘制出很多美观的图形,同时能避免诸多繁琐的细节。采用了图层的设计方式,从原始图层开始,首先 绘制原始数据,然后不断添加图形注释和统
7、计汇总结果。ggplot2可以帮助学生 锻炼结构化的分析思维,进而达到专业的水准。在ggplot2中,用于创建新图形 的表达式是由高级的图形元素组成的,例如对原始数据的展现,以及某些统计 变换等。ggplot2图形的基本组成部分:1)geom_area()用于绘制面积图,即在普通线图的基础上,依y轴方向填充了下 方面积的图形。2)geom_bar(stat=“identity”)用于绘制条形图,需要指定stat=“identity”,因为默认的统计变换将自动对值进行计数。3geom_line()绘制线条图,图形属性group决定了哪些观测是连接在一起的。4geom_point()绘制散点图。5
8、)geom_polygon()绘制多边形,即填充后的路径。6geom_text()可在指定点处添加标签。7geom_tile()用来绘制色深图或水平图。lattice,是由Deepayan1 S arkar基干grid包的一套统计图形系统,它的图形设 计理念来自于Cleveland的Trellis图形,其主要特征是根据特定变噩(往往是分类变量)将数据分解为若干子集,并 中的条件期望、条件概率一样,lattic-e的 图对每个子集画图。就像数理统计 形也是一种“条件作图”。格包中的高级函数如下:函数默认显示histogram直方图densit:yplot核密度图qqimath qq stripp
9、lot bWplot dotplot barchart埋论分位数图 双样本分位数图 带形图盒图克里夫兰点图 条形图函数 xyplot spllom1 coritourplot levelplotw1ireframecloud parallel默认显示 散点图散点图阵列 表面等高线图 表面伪色彩图三维表面透视图 三维散点图平行坐标图 以latt ice包中的densit ypl ot O函数为例IIISoprano 26 0 3g go o o ok 荔U 中G0420o o闷oo00005060IIII708090ISoprano 1Alto 2Alto 1Tenor.2Teno 1彗Bass
10、 2Bass 1IIIIIIIIII50即70的O O0 006 0 4 0 2仆:几h u仆宁-require(st at s)hist ogrnm h eiight I voice.part,data=siinger,nint=17,endpoints=c(59.5,76.,5),lay out=c(2,4),aspect=1,xllab=11Height(in ches)1)h ist ogrnm h eiight I voice.part,data=siinger,xllab =11Height(in ches)ty pe=11densiit y panell=fu nct io n(
11、x,.,.)pan el.hist ogram(x,.户 pan el.mat hd ensity(dmat h=dnorm,coll=11blad c 1 1,args=list(mean=mean(,x),sd=sd(x))densityplot(height I voice.part,data=siinger,layout=c(24),xlab=1Height(inches V,bw=,5)附录附录1 数数据据生成生成ID=seq(1,100)#用seq函数产生100个数字,表示不同人的ID。x1=round(runif(100,min=50,max=100)#用runif函数产生100
12、个随机数(随机 数是小数),代表科目1的成绩,该结果是均匀均匀分布分布,用round函数对其取整。x2=round(rnorm(100,mean=80,sd=7)#用rnorm函数产生正态分正态分布布数字数字,代表 科目2的成绩,再用round函数取整。x3=round(rnorm(100,mean=90,sd=14)#用rnorm函数产生正正态态分布分布数数字字,代 表科目3的成绩,再用round函数取整。x3which(x3100)=100#将超过100的修改为100。x=data.frame(ID,x1,x2,x3)#将上面4个向量放到组合为数据框data.frame。附录附录2 ggp
13、lotlibrary(ggplot2)p-ggplot(mtcars)summary(p)p-p+aes(wt,hp)summary(p)p-ggplot(mtcars,aes(x=mpg,y=wt)p+geom_point()p+geom_point(aes(colour=factor(cyl)p+geom_point(aes(y=disp)p-ggplot(mtcars,aes(mpg,wt)p+geom_point(colour=darkblue)p+geom_point(aes(colour=darkblue)library(nlme)#ggplot2用数据集:nlme包里有一个简单的
14、纵向数据集,26名男孩(Subject)在9个不同时期(Occasion)所测定的身高(height)和中心化后的年龄(age)p-ggplot(Oxboys,aes(age,height,group=Subject)+geom_line()pp+geom_smooth(aes(group=Subject),method=”lm”,se=F)pp+geom_smooth(aes(group=1),method=”lm”,size=2,se=F)pboysbox-ggplot(Oxboys,aes(Occasion,height)+geom_boxplot()boysboxboysbox+geom_line(aes(group=Subject),colour=”#3366FF”)boysboxd-ggplot(diamonds,aes(carat)+xlim(0,3)d+stat_bin(aes(ymax=.count.),binwidth=0.1,geom=area)d+stat_bin(aes(size=.density.),binwidth=0.1,geom=point,position=identity)d+stat_bin2d(aes(y=1,fill=.count.),binwidth=0.1,geom=tile,position=identity)16谢谢