|||
lattice包很容易实现单变量或多变量的数据可视化,生成的图形为栅栏图。在一个或多个其它变量的条件下,栅栏图可展示某个变量的分布或与其他变量间的关系。同时,lattice包提供了丰富的图形函数,可生成单变量图形(点图、核密度图、直方图、柱形图和箱线图)、双变量图(散点图、带状图和平行箱线图)和多变量图形(三维图和散点图矩阵)。
现有笔者分析某松树胸径育种值排名的预测结果plot.data为数据集,演示lattice绘制xy散点图和三维水平图。该数据集中有家系Fam,种植密度Spacing,树龄ca,胸径育种值排名rank。
xy散点图的绘图代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 | ############ 代码清单 ########## library(lattice); library(asreml) plot.data <- asreml.read.table(file='lattice. pdata.csv', header=T, sep=',') colors = c("red", "blue", "green") points = c(15, 16, 17) xyplot( rank ~ ca | reorder(Fam, Spacing), data = plot.data, type = "b", groups=Spacing, pch=points, col=colors, main = "Rank of dbh BV in Fam with ca", key = list( title="Spacing", space = "right", cex = 0.8, text = list(levels(plot.data$Spacing)), points = list(pch=points, col=colors), border=T, lines=T) ) |
生成的图形如下:
松树胸径育种值排名对树龄的xy散点图
三维水平图的绘制代码如下:
1 2 3 4 5 6 7 8 | ############ 代码清单 ########## library(lattice); library(asreml) levelplot( rank ~ Spacing*Fam | reorder(ca, Spacing), data = plot.data, xlab = "Spacing", subset = ca!= 5, main = "dbh BV rank in Fam with Spacing of ca", col.regions = terrain.colors(100) ) |
生成的图形如下:
松树胸径育种值排名对树龄的三维水平图
上述两图类似,只不过后者横轴现是种植密度Spacing。后者可用于不同家系Fam在相同树龄ca下,胸径育种值排名rank随着种植密度的变化情况。颜色越近绿色,代码排名rank越靠前,即胸径表现越好,反之则反。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-22 00:49
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社