使用lattice进行数据可视化-- 面板函数
使用lattice进行高级绘图-- 面板函数
每一个高水平的画图函数都采用了默认的函数来绘制面板图。默认函数遵循命名规则panel.graph_function,其中graph_function指的是高水平的函数。例如:
xyplot(mpg~wt|displacement, data=mtcars)
也可以写成:
xyplot(mpg~wt|displacement, data=mtcars, panel=panel.xyplot)
这是一个强大的功能,因为它可以让我们用自己设计的默认函数来代替默认的面板函数。前面,我们画出了以汽车发动机排量为条件的汽车重量的油耗。如果你想加上回归线、地毯图和网格线,需要做什么呢? 我们可以通过创建自己的面板函数来实现它,代码如下:
(1)自定义面板函数xyplot
library(lattice) displacement <- equal.count(mtcars$disp, number=3, overlap=0) #将四个独立的构件函数集成到自己的mypanel()函数中 mypanel <- function(x, y) { panel.xyplot(x, y, pch=19) panel.rug(x, y) panel.grid(h=-1, v=-1) #panel.grid()函数添加水平和垂直的网格线(使用负数迫使其用轴标签排队)。 panel.lmline(x, y, col="red", lwd=1, lty=2) } xyplot(mpg~wt|displacement, data=mtcars, layout=c(3, 1), aspect=1.5, main = "Miles per Gallon vs. Weight by Engine Displacement", xlab = "Weight", ylab = "Miles per Gallon", panel = mypanel) #自定义面板函数,通过xyplot()函数中的panel=option选项使它生效
结果分析:panel.xyplot()函数使用一个填充的圆(pch=19)产生散点图,也就是实心圆,panel.grid()函数添加水平和垂直的网格线(使用负数迫使其用轴标签排队),如图中的灰色网格线,panel.rug()函数把地毯图加到x轴和y轴的每个标签上,如图中的青绿色和蓝色短线条。panel.rug(x, FALSE)和panel.rug(FALSE, y)将分别把地毯加到横轴和纵轴。panel.lmline()函数添加了被渲染成红色(col="red")、标准厚度(lwd=2)的虚线(lty=2)回归曲线。
本文来自博客园,作者:zhang-X,转载请注明原文链接:https://www.cnblogs.com/YY-zhang/p/15154358.html