yzhlinscau的个人博客分享 http://blog.sciencenet.cn/u/yzhlinscau

博文

R高级绘图之lattice篇

已有 14590 次阅读 2013-10-24 20:11 |个人分类:R|系统分类:科研笔记| R高级绘图

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越靠前,即胸径表现越好,反之则反。




https://blog.sciencenet.cn/blog-1114360-735779.html

上一篇:双性状分析之ASReml-R篇
下一篇:聚类分析之R语言篇
收藏 IP: 58.254.92.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-22 00:49

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部