2011-12-21 9 views
5

パッケージgplotsについてご不明な点があります。私は機能heatmap.2を使用したいので、私は0から1です。通常symkey=TRUEにカラーキーの私の対称の点を変更したいとあなたは色がこのように管理され、カラーバーが作成されcol=redgreen()使用:R:ヒートマップ2色変更キー

red = -2 to -0.5 
black=-0.5 to 0.5 
green= 0.5 to 2 

今、私はこのようなカラーバーを作成します:

red= -1 to 0.8 
black= 0.8 to 1.2 
green= 1.2 to 3 

は、この可能性のようなものですか?

ありがとうございました!

答えて

9

the heatmap.2 help fileを見ると、breaks引数が必要なようです。ブレークポイントが等間隔に配置される場合には色にXをビニングするための分割点、または使用されるブレークポイントの整数を示す

breaks(オプション)のいずれかの数値ベクトル、:ヘルプファイルから

したがって、breaksを使用して各色のカットオフポイントを指定します。例:

library(gplots) 

# make up a bunch of random data from -1, -.9, -.8, ..., 2.9, 3 
# 10x10 
x = matrix(sample(seq(-1,3,by=.1),100,replace=TRUE),ncol=10) 

# plot. We want -1 to 0.8 being red, 0.8 to 1.2 being black, 1.2 to 3 being green. 
heatmap.2(x, col=redgreen, breaks=c(-1,0.8,1.2,3)) 

重要なビットは、あなたのカットオフであるbreaks=c(-1,0.8,1.2,3)です。

+0

ありがとうございます。数学。コーヒー。いくつかの色を重ねる方法もありますか?通常私は75色を作成するredgreen(75)を使用します! – Lisann

+0

と同様に、-1から0.8までは赤の色合いが変化し、0.8から1.2まで変化する黒(!)、1.2から3までのさまざまな緑の色合いが必要ですか? '休憩 'に休憩を追加することができます。例えばseq(-1,0.8、length = 5)、seq(0.8,1.2、length = 5)、seq(1.2,3、length = 5) 'のように、 'redgreen'は赤から緑まで直線的に拡大するので、ブレークには同じ数の色合いを持たなければなりません。色むらがあれば、色々な色が混ざり合いますが、' redgreen'は徐々に色の勾配があるので、赤が止まると黒が始まる時などを教えてくれますか? –

+0

ありがとう!これは私が必要としていたものです! – Lisann