慕课—R语言之数据可视化—学习笔记 3.4Lattice绘图系统
2016-05-22 17:04
351 查看
Lattice绘图系统
在前面的学习中,学到了R语言的基本的绘图系统,在本节中,将学习Lattice绘图系统。绘图函数
---lattice包xyplot(适合散点图)/bwplot/histgram/stripplot/dotplot(点图)、splom、levelplot/contourplot
格式:xyplot(y~x|f*g,data)
panel函数用于控制每个面板内的绘图
---grid包
实现了独立于base的绘图系统
Lattice包是基于grid创建的;很少直接从grid包调用函数
Lattice与base的区别
base绘图函数直接在图形设备上绘图
Lattice系统则返回的trellis类对象
打印函数真正执行了在设备上绘图
命令执行时,trells类对象会被自动自助打印
——————————————————————————————————————————————————
案例
导入包Latticelibrary(lattice )
xyplot(Temp~Ozone,data=airquality)
airquality$Month=factor(airquality$Month)
xyplot(Temp~Ozone|Month,data=airquality,
layout=c(5,1))
下面的语句就能看得出其与base的不同之处了。在得到的q后,需要使用print函数将其绘制出来。(我不喜欢使用->,无论是R语言还是C++,我会尽量避免使用它)
q=xyplot(Temp~Wind,data=airquality)
print(q)
使用随机变量,rnorm为正态分布sd为方差
set.seed(1)#种子点可以每次产生的随机数一致;
#如果别人要验证时,使用种子点可以再现原来使用的随机数
x=rnorm(100)
f=rep(0:1,each=50)
y=x+f-f*x+rnorm(100,sd=0.5)
xyplot(y~x|f,layout=c(2,1))
图中添加均值,线性拟合线:
xyplot(y~x|f,panel = function(x,y){
panel.xyplot(x,y)
panel.abline(v=mean(x),h=mean(y),ltz=2)
panel.lmline(x,y,col="red")
})