17

gplot を使用して、治療グループと対になったコントロールの log2 倍の変化を示すヒートマップを作成しています。次のコードを使用します。

 heatmap.2(as.matrix(SeqCountTable), col=redgreen(75), 
           density.info="none", trace="none", dendrogram=c("row"), 
            symm=F,symkey=T,symbreaks=T, scale="none") 

すべての生物学者のお気に入りである赤、黒、緑の配色で、実際の倍数変化値 (つまり、Row-Z スコアではない) を使用してヒート マップを出力します。

http://i.stack.imgur.com/uhFbP.jpg

log2 倍の変化の実際の範囲は -3/+7 で、多くの値は -2/-1 と +1/+2 の範囲にあり、(それぞれ) 濃い赤/緑として表示されます。これにより、ヒートマップ全体が非常に暗くなり、解釈が難しくなります。

  • 色のグラデーションを歪ませて線形性を低下させる方法はありますか? つまり、黒から非常に明るい色へのグラデーションがより狭い範囲で発生するということですか?
  • または、色の範囲を非対称に変更します。つまり、現在のスケールのように -7/+7 ではなく、データのように -3/+7 から実行し、黒はまだゼロを中心にしていますか?
4

4 に答える 4

17

symkey 引数を FALSE に変更するだけで、色の範囲が非対称になりました

symm=F,symkey=F,symbreaks=T, scale="none"

各色の範囲を指定するためのブレーク引数を使用した colorRampPalette の色の問題を解決しました。

colors = c(seq(-3,-2,length=100),seq(-2,0.5,length=100),seq(0.5,6,length=100))

my_palette <- colorRampPalette(c("red", "black", "green"))(n = 299)

全体的に

heatmap.2(as.matrix(SeqCountTable), col=my_palette, 
    breaks=colors, density.info="none", trace="none", 
        dendrogram=c("row"), symm=F,symkey=F,symbreaks=T, scale="none")
于 2013-07-24T15:58:55.400 に答える
15

RColorBrewerパッケージを使用して独自のカラー パレットを作成することができます。

my_palette <- colorRampPalette(c("green", "black", "red"))(n = 1000)

これがどのように見えるかを見てください。しかし、あなたの場合、黒を「真ん中」に保ちたいのであれば、スケーリングだけが役立つと思います。my_palette代わりに単純に使用できますredgreen()

RColorBrewer パッケージをチェックアウトすることをお勧めします。これらにはかなり優れた組み込みのパレットがあり、colorbrewer のインタラクティブな Web サイトを参照してください。

于 2013-07-23T21:30:07.983 に答える