9

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があるかもしれません。

4

4 に答える 4

6

R-Forge のカラースキーム パッケージは次のことを行います。

https://r-forge.r-project.org/projects/colourscheme/

その主な目的は、数値 (整数の色番号だけでなく) を色にマップする関数を作成することです。ビネットは、インストールしたら最高のドキュメントです。

于 2013-02-21T16:01:35.077 に答える
3

あなたが試すことができます

> colorRampPalette(c('blue', 'red'))(length(x))[rank(x)]
[1] "#0000FF" "#FF0000" "#CC0032" "#3300CC" "#660099" "#990065"
于 2013-02-21T15:49:37.343 に答える