2011-02-17 60 views
7

嗨 我利用在鏈接如何把黑色邊框在熱圖中的R

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

顯示「heatmap.plus」創建中的R熱圖,但我需要的熱圖的樣子在下面的鏈接顯示的熱圖這是從其他GUI軟件創建

http://i.stack.imgur.com/Y8Faj.png

我怎樣才能把黑色邊框在每一個熱圖元素中的R

+0

你在地圖上有這麼多的單元格,每個單元格上放一個黑色的邊框不會留下太多的空間來顯示顏色。 – Spacedman

+0

好的,但無論如何要放黑色邊框嗎? – Jana

+0

你可以直接使用image()和abline() - 並確保你得到的角落不是中心(圖像可以處理) - 但在熱圖中獲取它會更棘手,因爲它使用佈局來設置圖 – mdsumner

回答

17

如果按照從Learn R blog教程和改變在這一段黑色的顏色,你會得到:

(p <- ggplot(nba.m, aes(variable, Name)) + 
    geom_tile(aes(fill = rescale), colour = "black") + 
    scale_fill_gradient(low = "white",high = "steelblue")) 

enter image description here

4

試試這個:

library(plotrix) 

#Build a 40 Row by 40 Column Matrix 
n <- 40 
mat <- matrix(rnorm(n*n), nrow = n) 

#Plot it 
color2D.matplot(mat, cellcolors = color.scale(mat, c(0,0.5,1), c(1,0.5,0), 0)) 
+1

另外:'lattice :: levelplot(mat,border =「black」)' – James

1

您是否嘗試過使用heatmap.2?它有這樣的參數。

require("gplots") 

data <- # matrix or data frame for your data. 

heatmap.2(data, 
      sepwidth=c(0.05, 0.05), # width of the borders 
      sepcolor='black',  # color of the separation lines 
     ) 

您可能需要更多參數,具體取決於您在圖中想要的內容。 R對heatmap.2函數的幫助涵蓋了幾乎所有你需要的東西:?heatmap.2