R语言高级作图实验(包括grid包、lattice包以及ggplot2包主要函数与参数在实际中的运用)

下面为具体实验步骤

(1)带拟合曲线的散点图矩阵

mydata<-read.csv(file.choose())   #导入数据

summary(mydata)

library(car)

scatterplotMatrix(~GDP+x1+x2+x3,data=mydata,spread=FALSE,smoother.args=list(lty=2),main="GDP和三次产业数据")


图 1

分析:该散点矩阵图为1990-2012年GDP、x1、x2、x3的变化趋势图,其中x1表示第一产业增加值,x2表示第二产业增加值,x3表示第三产业增加值。从该图可以看出来GDP、第一产业和第三产业之间的拟合效果较好,呈现出线性关系;而第二产业增加值与其他变量之间拟合效果一般;从主对角线上核密度曲线与轴须图可以看出除第二产业增加值外其他各变量靠近主对角线,可以知道它们之间存在较强的相关性,而第二产业增加值与其他变量存在相关性,但相比其他变量相关性弱一点。

(2)高密度散点图

 cars<read.csv(file.choose(),header=T,sep=",")

 names(cars)<-c("电流","电压")

 summary(cars)

 library(lattice)

with(cars,plot(电流,电压,pch=19,main="车联网车单线电阻阻值"))

 with(cars,smoothScatter(电流,电压,main="车联网车单线电阻阻值")) with(cars,{bin<-hexbin(电流,电压,xbins=50)

plot(bin,main="车联网车单线电阻阻值")})

 library(IDPmisc)

 with(cars,iplot(电流,电压,main="车联网车单线电阻阻值"))

 library(hexbin)

 with(cars,{

 bin<-hexbin(电流,电压,xbins=20)

 plot(bin,main="车联网车单线电阻阻值")

 })
  图 2
图3

图4

图5

扫描二维码关注公众号,回复: 1616141 查看本文章

分析:上面图2至图5为高密度散点图,作图数据来自某时间段车联网各项指标中的车的单线电阻阻值与电压值。图2中的数据较多造成重叠导致识别两者之间的关系变的困难。图4在图2的基础上利用核密度估计生成用颜色密度来表示点分布的散点图,图5在图2的基础上将二元变量的封箱放到六边形单元格中,使其可以更加直观的看出变量之间的关系。从上面几张高密度散点图中不难看出电压为3.25左右与电流在0左右存在重叠点,但是没有大量重叠,而其他都分布较均匀,说明车的电压处在3.25左右与电流在0左右的时间较其他多,电压与电流之间整体呈现负相关。

(3)三维空间中的几何体或一种螺旋曲线

> install.packages("scatterplot3d")

> library(scatterplot3d)

> y<-read.csv(file.choose())

>attach(y)

> a<-scatterplot3d(长,高,成功送达获利.元.,pch=16,highlight.3d=TRUE,type="h",main="北京开发区数据")

> fit<-lm(长~高+成功送达获利.元.)

> a$plane3d(fit)#图6

> library(rgl)

> attach(y)
> plot3d(长,高,成功送达获利.元.,col="green",size=4)#图7
图6
图7

 
> library(car)


> with(y,scatter3d(长,高,成功送达获利.元.))
图8


分析:图6至图8为某快递员的一辆厢式货车一辆,而包裹全为长方体,在为公司只送货一趟的情况下车厢内的空间固定的情况下包裹的长宽高与快递员获利多少存在着一定的关系。上面三维图取包裹的长高与获利数据。图6中平面代表可以获得的最大的利益,包裹尺寸为一定的长和高时便可获得最大的利益。

(4)气泡图

> mydata<-read.csv(file.choose())

> attach(mydata)

> r<-sqrt(y/pi)

> symbols(x1,x2,circle=r,inches=0.3,xlab="商品销售额",ylab="商品购进总额",bg="pink", main="我国连锁零售业的发展情况")

> text(x1,x2,mydata$t,cex=0.5)

> detach(mydata)

图 9

分析:为了分析我国连锁零售业的发展情况,选择商品销售额、商品购进总额、零售业资产总计三个变量。从图9中可以看出商品销售额与商品购进总额呈正相关,而其中北京、江苏、广东、上海的零售业资产总计最大,商品销售额与商品购进总额都是个地区中最大的。

(5)相关系数图

> mydata<-read.csv(file.choose())

> attach(mydata)

> r<-sqrt(y/pi)

> symbols(x1,x2,circle=r,inches=0.3,xlab="商品销售额",ylab="商品购进总额",bg="pink", main="我国连锁零售业的发展情况")

> text(x1,x2,mydata$t,cex=0.5)

> detach(mydata)

图 10     
图11                          

分析:图10和图11为某年辽宁省辖区内所有行政县的行政基本情况数据制作,其中包括x1为行政区域土地面积、x2为乡(镇)个数、x3为村民委员会个数、x4为年末总户数、x5为乡村户数、x6为年末总人口、x7为乡村人口、x8为年末单位从业人员数、x9为乡村从业人员数、x10为农林牧渔业、x11为农业机械总动力、x12为本地电话年末用户。

从上面图10可以看出对角线以下除x8即年末单位从业人员数外其他变量都呈正相关,除x8外各变量越离对角线近相关性越高,变量x8有数据呈现负相关还有不相关,对角线以上使用平滑拟合曲线,从拟合曲线来看,大多数变量都拟合较好。

(6)马赛克图

>install.packages("vcd")

> library(grid)

> library(vcd)

>mydata<-structure(c(18,9,42,18,2,49,30,77,28,45,27,14,6,19,45,26), .Dim=c(4L,2L,2L),.Dimnames=structure(list(grade=c("fresher","sophomoreyear","junior","senior"),sex=c("male","female"),replace=c("yes","no")),.Names=c("grade","sex","replace")),grade="table")

> fix(mydata)

> ftable(mydata)

> mosaic(~grade+sex+replace,data=mydata,shade=TRUE,legend=TRUE)

图 12

图 13

分析:图11为大学校园代买物品的调查情况,由于收集数据期间大四学生都在实习,所以只收集了大一、二、三的学生。从图中可以看出调查中大一人数最少,大二大三人数相差不大,其中大一中男生人数比女生多,代过物品的男生也比女生多;在大二中男女人数比例相差较小,代过物品的女生和没有代过的男生人数相似;在大三中女生代过物品和没有代过的人数都比男生多;总体来看,本次收集数据中女生人数比男生多,代过物品的女生比男生多。

(7)栅栏图

> mydata<-read.csv(file.choose())

> library(lattice)

> mygraph <- densityplot(~result|grade,data = mydata)

> plot(mygraph)

> update(mygraph,col = "purple",pch = 12,cex = .8,jitter = 0.05, lwd = 2,main="Contoso公司一月份销售变化趋势")#图13

> mydata<-read.csv(file.choose())

> library(lattice)

> mygraph <-histogram(~result|grade,data = mydata)

> plot(mygraph)

> update(mygraph,col = "pink",pch = 12,cex = .8,jitter = 0.05, lwd = 1,main="Contoso公司一月份销售变化趋势")

图 14

                                          

  图 15

分析:图12与图13数据为Contoso公司一月份销售数据。从图中可以看出一月份的销售额在月初的时候非常低,随着时间销售额快速增长,到月中的时候销售额开始下降,到快月末的时候销售额和月初一月非常低。

(8)箱线图

> mydata<-read.csv(file.choose())

>library(lattice)

> bwplot(报考部门~综合成绩, data=mydata,varwidth=TRUE,xlab="综合成绩", ylab="部门", main="2016年国家公务员考试成绩",col=c("pink","green","blue"))


图 16

分析:图14数据为2016年国家公务员考试的部分部门的综合成绩,其中教育、公安、财政三个部门的成绩的中位数相似,农业、财政、公安部门的综合成绩差不多。

(9)自定义

> mydata<-read.csv(file.choose())

> library(lattice)

> mypanel<-function(x,y){

+panel.xyplot(x,y,pch=19)

+ panel.rug(x,y)

+panel.grid(h=-1,v=-1)

+panel.lmline(x,y,col="red",lwd=1.5,lty=3)

+}

>xyplot(家庭书刊年消费支出~户主受教育年数|pop.cut,panel=mypanel,data=mydata,xlab="家庭书刊年消费支出",ylab="户主受教育年数",layout=c(3,1),aspect=1.5,main="家庭书刊消费支出与户主受教育年数关系散点图")

图 17

分析:图15为家庭书刊消费支出与户主受教育年数的关系。从图中可以看出户主受教育年数越高,则家庭的书刊消费支出就越多,两者之间存在着正相关关系。

(10)所有数据

本次报告中所有数据(除马赛克)。


     

图 18 散点图矩阵数                 


      图 19 高密度散点图数据

     

图 20 三维图数据 气泡  

                          

   图 21 气泡图数据

图 22 相关系数图数据

     

图 23 栅栏图数据                    


             图 24 箱线图数据

图 25 自定义面板图



猜你喜欢

转载自blog.csdn.net/myself77/article/details/80715068