在R中的热图中使用不同的行高

时间:2014-03-29 19:24:06

标签: r heatmap

我有一个这样的数据框:

X<-c(100,90,80,70,65,60,55,50,45,40)    
Y<-c(10,20,30,40,35,30,25,20,15,10) 
Z<-c(50,40,30,20,30,40,50,60,70,80)
df<-as.data.frame(cbind(X,Y,Z))
df
     X  Y  Z
1  100 10 50
2   90 20 40
3   80 30 30
4   70 40 20
5   65 35 30
6   60 30 40
7   55 25 50
8   50 20 60
9   45 15 70
10  40 10 80

X,Y和Z分别代表0.23Km,1.756Km和3.452Km的距离或长度。我可以像这样创建一个热图,但所有行都有相同的高度:

m<-as.matrix(df)
library(fields)
z<-colorRampPalette(c("green","yellow", "red","black"))
image(m, col=z(50), xaxt= "n", yaxt= "n")

我想根据X,Y和Z的长度调整热图单元格的高度,热图行的高度将与给定的X,Y和Z长度成正比(0.23单位,1.756单位和3.452单元)。

1 个答案:

答案 0 :(得分:1)

喜欢这个吗?

image(m[,c(1,1,1,2,2,3)], col=z(50), xaxt= "n", yaxt= "n")

enter image description here