我正在尝试构建一种类似于此处的颜色密度图:
https://stats.stackexchange.com/questions/26676/generating-visually-appealing-density-heat-maps-in-r
但是其中包含不同类型的数据。我的真实数据有一堆行,但例如我有代码放入 X、Y、Score 的数据框中,我想使用这些静态 X、Y 桶绘制颜色密度图。那可能吗?
X=seq(0,10,by=1)
Y=seq(50,60,by=1)
total=expand.grid(X,Y)
nrow(total)
total$score=runif(nrow(total), min=0, max=100)
range(total$score)
head(total)
my_palette <- colorRampPalette(c("blue", "yellow", "red"))(n = 100)
col_breaks = c(seq(0,100,length=100))
col=data.frame(as.character(my_palette),col_breaks)
col$num=row.names(col)
head(col)
col$col_breaks=round(col$col_breaks,0)
names(col)[1]="hex"
total$round=round(total$score)
total$color=as.character(col$hex[match(total$round,col$col_breaks)])
plot(total$Var1,total$Var2,col=total$color,xlim=c(0,10),ylim=c(50,60))
我不是想把 hexbin 或任何东西限制在盒子里,我想用带颜色的条件 rect() 来解决这个问题,但想知道这种类型的数据是否有办法让它更像是一种类似于这个的自由流动的热量形状:
还是需要连续数据才能做类似的事情?