How to put black borders in heatmap in R

23.8k views Asked by At

Hi I created a heatmap in R using "heatmap.plus" which is shown in the link

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

but I need the heat map to look like the heatmap shown in below link which was created from some other GUI software

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

How can I put black borders in every heatmap element in R

3

There are 3 answers

2
Roman Luštrik On BEST ANSWER

If you follow the tutorial from Learn R blog and change the color in this paragraph to black, you will get:

(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

1
bill_080 On

Try this:

 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))
0
John Mark On

Have you tried using heatmap.2? It has paramaters to do just that.

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
          )

You may need more in the parameters depending on what you want in your graphs. R's help on the heatmap.2 function covers pretty much everything you need: ?heatmap.2