【发布时间】:2016-01-14 16:53:39
【问题描述】:
我有兴趣使用heatmap.2 可视化我的结果变量的分布,如gplots 包中提供的那样。
这是我的数据集的样子:
> head(data.w)
year Armenia Azerbaijan Bulgaria Croatia Cyprus Czech Republic Estonia Georgia
1998 0 0 1.14 0 1.21 1.32 1.43 0
1999 0 0 1.32 0 1.44 1.50 1.68 0
2000 0 0 1.32 0 1.63 1.59 1.75 0
2001 0.75 0 1.46 0 1.85 1.93 1.81 0
2002 0.82 0 1.74 0 2.04 2.00 2.00 0.34
2003 0.87 0 1.85 0 2.22 2.22 2.19 0.42
为了绘制热图,我使用以下代码:
library(gplots)
library(grDevices)
min(data.w[,2:9])
max(data.w[,2:9])
data.wx <-as.matrix(data.w)
pdf("heatmap.pdf", width=10,height=5)
heatmap.2(as.matrix(t(data.w[,2:9])), trace="none",
Rowv=NULL, Colv=NULL, dendrogram="none",
labCol=data.w$year,labRow=data.w$cname,
lhei=c(0.1,1), lwid=c(0.1,1), margins=c(5,10),
colsep=1:16, rowsep=1:9, sepcolor="white",
col=gray.colors(8, start=1, end=0) )
dev.off()
总的来说,我对剧情的样子很满意:
然而,显示的国家实际上属于两个不同的组,亚美尼亚、阿塞拜疆和格鲁吉亚属于“邻国”组,其余国家是“扩大”组的成员。
简而言之,我想按组成员划分热图。 在每个组中,国家不应按字母顺序或值列出,但我需要根据某些特定的顺序来个性化标准。
重要的是,我不想
- 绘制两个单独的图,因为这会改变分布 颜色;
- 使用
RowSideColors将行变量分组为 附加参数,例如建议here,以便 对输入变量进行分类。
我需要在绘图中添加什么才能获得这样的 heatmap.2,其中行的顺序是个性化的? 请注意,分隔组的行之间不需要额外的空间。
谢谢一百万!
【问题讨论】:
标签: r plot data-visualization heatmap