スキップしてメイン コンテンツに移動

投稿

12月, 2010の投稿を表示しています

Rでマゼンタ-黒-緑になるバリアフリーなカラーパレットを生成する

バリアフリーなヒートマップを描くために、マゼンタ-黒-緑のカラーパレットが使いたかったのですが、R でどうやって良いのかわからなかったので自作しました。簡単な方法を知っている人がいれば教えてください。 [code] magentablackgreen <- function(n) { r <- c( round( seq.int(236, 0, by=-236/(n-1)) ), rep(0, n) ) g <- c( rep(0, n), round( seq.int(0, 255, by=255/(n-1)) ) ) b <- c( round( seq.int(140,0, by=-140/(n-1)) ), rep(0, n) ) rgb(r, g, b, max=255) } [/code] [code] cols <- magentablackgreen(25) [/code] のように使います。 heatmap.2() で col = magentablackgreen(25) とかすると良いと思います。 colorRamps package のなかに magenta2green ってのがあるが真ん中が黒じゃない!!! 参考: 色盲の人にもわかるバリアフリープレゼンテーション法 追記: やっぱりあったもっと簡単な方法 [code] m2b2g <- colorRampPalette(c("#EC008C", "black", "green")) pie(rep(1,50), col=m2b2g(50)) [/code] kkobayashi さんにはてブコメントで教えてもらいました! どもです。 さらに追記: @ma_ko に colorpanel という関数 を教えてもらった。 [code] library(gplots) m2b2g <- colorpanel(50, low="magenta", mid="black", high="green") pie(rep(1,50), col=m2b2g) [/code