2012-01-03 20 views
0

Rのデータの1次元ベクトルがあり、このデータに対応するヒートマップの色を探したいと思います。たとえば:Rのデータに対応するヒートマップの色R

data = c(12,32,33,41,5) 

私は、そのベクトルに対応HEX色のベクトルを見つけたい - より高い値のようなものは、暗い色を持っている値と下限値は、明るい色またはその種の何かを持っています。

これを行うパッケージ/機能はありますか?

ありがとうございます!グーグルのビットで

+0

Rでプロットを作成するための色が必要な場合は、すべてのプロット関数がこのステップを処理します。 –

+0

'scales'パッケージは確かにそうすることができます。 'ggplot2'によって内部的に使用されています。 – baptiste

答えて

6

が、私はthis linkに次の関数を見つけました:

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 
} 

それはあなたが探している正確に何であるようです。