我有一个这样的数据框:
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单元)。
答案 0 :(得分:1)
喜欢这个吗?
image(m[,c(1,1,1,2,2,3)], col=z(50), xaxt= "n", yaxt= "n")