2012-04-06 7 views
9

heatmap.2()コマンドを使用して、0に中心のカラーキー(つまり、白色 - > 0、赤 - >より大きい)を使用してヒートマップを作成したいとします。私が実際の値のヒートマップをプロットするのに興味があるので、scale = "none"にしておきます。しかし、私のヒートマップのすべては、次の行を使用すると、ゼロを中心とされていません。R:センタリングヒートマップ.2キー(gplotsパッケージ)

library(gplots) 
outputHeatmap <- heatmap.2(heatmapInputActual, dendrogram="none", Rowv=FALSE, 
    Colv=FALSE, col= bluered(256), scale="none", key=TRUE, density.info="none", 
    trace="none", cexRow=0.125, cexCol=0.125, symm=FALSE, symkey=TRUE) 

は、私は、コマンドsymkeyを使用して= TRUEが働くだろうと思ったが、それはしていません。ヒートマップを作成しようとしている変数は、数値の(n×3)行列です。上記のheatmap.2()コマンドに問題のある入力があります。

8.408458 5.661144 0.00000000 
4.620846 4.932283 -0.46570468 
-4.638912 -3.471838 -0.12146109 
-4.822829 -3.946024 0.06403327 
3.948832 4.520447 -0.31945941 

ありがとうございました。私はあなたの返信を楽しみにしています。

答えて

10

あなたのheatmap.2にはちょうどsymbreaksを加えているようです。ここにあなたのデータと完全に再現可能な例である:

library(gplots) 
#read your example data 
heatmapInputActual <- read.table(textConnection(
"8.408458 5.661144 0.00000000 
4.620846 4.932283 -0.46570468 
-4.638912 -3.471838 -0.12146109 
-4.822829 -3.946024 0.06403327 
3.948832 4.520447 -0.31945941 
"),as.is=TRUE) 
#convert sample data to matrix 
heatmapInputActual <- as.matrix(heatmapInputActual) 
#just add symbreaks to the end of your code 
heatmap.2(heatmapInputActual, dendrogram="none", Rowv=FALSE, Colv=FALSE, 
      col = bluered(256), scale="none", key=TRUE, density.info="none", 
      trace="none", cexRow=0.125, cexCol=0.125, symm=F,symkey=T,symbreaks=T) 

enter image description here

+1

うん!これは受け入れられた答えでなければなりません。 – Noah

+0

全く同じコードを実行した後、私はカラーキーを取得しませんでした! –

+0

@ yesheshalikなぜ、わたしのために働くのかわかりません。あなたはRですか、gplotsパッケージは最新ですか? –