2012-04-06 17 views
9

Isı haritası 2 ile ortalanmış bir renk anahtarı olan heatmap.2() komutuyla ısı eşlemesi oluşturmak istiyorum (yani beyaz renk -> 0, kırmızı -> büyük 0'dan büyük, mavi -> 0'dan küçük), ölçek = "none" değerini korurken, gerçek değerlerin bir sıcaklık haritasını çizmek istiyorum. Ancak, benim heatmaps tüm aşağıdaki satırı kullanarak üzerine sıfır merkezli değildir:R: Merkezleme heatmap.2 tuşu (gplots paketi)

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) 

komut symkey kullanarak = DOĞRU işe düşündüm, ama öyle değil. Çalıştığım değişken bir ısı haritası, sayısal değerlerden oluşan bir (n x 3) matrisidir. Yukarıda açıklanan heatmap.2() komutuna bir sorunlu giriş aşağıdaki gibidir:

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 

Zaman ayırdığınız için teşekkür ederiz. Cevaplarınızı dört gözle bekliyorum.

cevap

10

Çözüm, heatmap.2 ürününe symbreaks ekleyerek görünüyor.

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

Evet: İşte verilerle tam tekrarlanabilir örnektir! Bu kabul edilen cevap olmalı. – Noah

+0

Aynı kodu çalıştırdıktan sonra, renk anahtarını alamadım! –

+0

@ayeshamalik nedenini bilmiyorum, benim için çalışıyor. R ve gplots paketi güncel mi? –