与R中的数据对应的热图颜色

与R中的数据对应的热图颜色,r,heatmap,R,Heatmap,在R中有一个一维的数据向量,我想找到对应于这个数据的热图颜色。例如: data = c(12,32,33,41,5) 然后我想找到一个对应于该向量的十六进制颜色向量,比如高值有较深的颜色,低值有较浅的颜色或类似的东西 是否有任何软件包/功能可以做到这一点 谢谢 通过谷歌搜索,我在上找到了以下功能: val2col通过谷歌搜索,我在上找到了以下函数: val2coli如果您需要在R中绘制绘图所需的颜色,则所有绘图功能都会处理此步骤。scales软件包肯定可以做到这一点;ggplot2内部使用它将

在R中有一个一维的数据向量,我想找到对应于这个数据的热图颜色。例如:

data = c(12,32,33,41,5)
然后我想找到一个对应于该向量的十六进制颜色向量,比如高值有较深的颜色,低值有较浅的颜色或类似的东西

是否有任何软件包/功能可以做到这一点


谢谢

通过谷歌搜索,我在上找到了以下功能:


val2col通过谷歌搜索,我在上找到了以下函数:


val2coli如果您需要在R中绘制绘图所需的颜色,则所有绘图功能都会处理此步骤。
scales
软件包肯定可以做到这一点;
ggplot2
内部使用它将值映射到颜色以及其他内容。如果您需要在R中绘制绘图的颜色,则所有绘图功能都会处理此步骤。
scales
软件包肯定可以做到这一点;它由
ggplot2
内部使用,用于将值映射到颜色等。
val2col<-function(z, zlim, col = heat.colors(12), breaks){
 if(!missing(breaks)){
  if(length(breaks) != (length(col)+1)){stop("must have one more break than colour")}
 }
 if(missing(breaks) & !missing(zlim)){
  breaks <- seq(zlim[1], zlim[2], length.out=(length(col)+1)) 
 }
 if(missing(breaks) & missing(zlim)){
  zlim <- range(z, na.rm=TRUE)
  zlim[2] <- zlim[2]+c(zlim[2]-zlim[1])*(1E-3)#adds a bit to the range in both directions
  zlim[1] <- zlim[1]-c(zlim[2]-zlim[1])*(1E-3)
  breaks <- seq(zlim[1], zlim[2], length.out=(length(col)+1)) 
 }
 colorlevels <- col[((as.vector(z)-breaks[1])/(range(breaks)[2]-range(breaks)[1]))*(length(breaks)-1)+1] # assign colors to heights for each point
 colorlevels
}