How to make a heatmap like this in R
1
0
Entering edit mode
5.5 years ago
ishackm ▴ 110

Hi all,

I would like some help modifying a heatmap please.

Right now I have this heatmap:

enter image description here

The code to produce this heatmap:

datafinal = scale(data)

require(pheatmap)

out <- pheatmap(datafinal, 
                show_rownames=F, color = c("#2c7fb8", "#fee6ce", "#e6550d"),breaks = c(-4,0,2,4),main = "Malignant vs Fibroblast Samples",fontsize = 7, cluster_cols=T, cluster_rows=T, scale="row",cex=1,  clustering_distance_rows="maximum", cex=1, clustering_distance_cols="euclidean", clustering_method="complete", border_color=FALSE, annotation_col=metadata, xlim=c(-7.7,7))

I would like to heatmap that looks like this please:

enter image description here

I would like the Z scale and have the little square blocks instead of the big blocks of solid colours I currently have. I also do not want the row names displayed.

I find heatmaps very hard to make so any help would be greatly appreciated.

Many Thanks,

Ishack

heatmap RNA-Seq • 4.5k views
ADD COMMENT
1
Entering edit mode
5.5 years ago
AK ★ 2.2k

One way is to use gplots::heatmap.2:

library(gplots)
data(mtcars)
x <- as.matrix(mtcars)

heatmap.2(
  x,
  col = bluered,
  labCol = "",
  labRow = "",
  scale = "column",
  dendrogram = "none",
  trace = "none",
  key.title = "",
  lmat = rbind(c(0, 3, 4), c(2, 1, 0)),
  lhei = c(1, 3),
  lwid = c(0.5, 7, 3)
)

The one without row names:

heatmap_by_gplot

ADD COMMENT
0
Entering edit mode

Thank you but how do I label the samples into two categories, fibroblast and malignant and also do the clustering for both rows and columns please?

ADD REPLY
1
Entering edit mode

Read the docs and/or some tutorials.

ADD REPLY

Login before adding your answer.

Traffic: 1684 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6