Rでは、colorRampPaletteなどのカラーランプを簡単に生成できます。以下は、青から赤までの5色のシーケンスを生成します。
> mypal <- colorRampPalette( c( "blue", "red" ) )( 5 )
> mypal
[1] "#0000FF" "#3F00BF" "#7F007F" "#BF003F" "#FF0000"
このパレットに数値のベクトルを簡単にマッピングするにはどうすればよいですか?たとえば、次のように0から10までの数のベクトルがあります。
x <- c( 1, 9, 8.5, 3, 3.4, 6.2 )
map2color
たとえば、実行すると次のような関数が必要map2color( mypal, x )
です。
#0000FF, #FF0000, #FF0000, #3F00BF, #3F00BF, #BF003F
私は通常次のようなことをします
mypalette[ findInterval( x, seq( 0, 10, length.out= 6 ), rightmost.closed= T ) ]
しかし、数値ベクトルのカラースケールを自動的に生成する、より優れたソリューションOOBがあるかもしれません。