File:Rotateheatmap.png
Appearance
Size of this preview: 800 × 273 pixels. Other resolution: 1,314 × 448 pixels.
Original file (1,314 × 448 pixels, file size: 52 KB, MIME type: image/png)
Summary
library(circlize)
set.seed(123)
mat = matrix(rnorm(80), 8, 10)
rownames(mat) = paste0("R", 1:8)
colnames(mat) = paste0("C", 1:10)
col_anno = HeatmapAnnotation(
df = data.frame(anno1 = 1:10,
anno2 = rep(letters[1:3], c(4,3,3))),
col = list(anno2 = c("a" = "red", "b" = "blue", "c" = "green")))
row_anno = rowAnnotation(
df = data.frame(anno3 = 1:8,
anno4 = rep(letters[1:3], c(3,3,2))),
col = list(anno4=c("a" = "red", "b" = "blue", "c" = "green")))
# 1st heatmap
Heatmap(mat,
col = colorRamp2(c(-1, 0, 1), c("green", "white", "red")),
top_annotation = col_anno, right_annotation = row_anno,
name = "mat", # legend for the color of the main heatmap
column_title = "Heatmap1") # top of the whole plot, default is ''
# 2nd heatmap. Use cluster_rows, cluster_columns,
# hclust() gives different orders than Heatmap()
hc_rows <- hclust(dist(mat))
hc_cols <- hclust(dist(t(mat)))
Heatmap(mat, cluster_rows=hc_rows, cluster_columns=hc_cols,
col = colorRamp2(c(-1, 0, 1), c("green", "white", "red")),
top_annotation = col_anno, right_annotation = row_anno,
name = "mat",
column_title = "Heatmap2 (hclust)")
# 3rd heatmap, Use cluster_rows, cluster_columns and dendextend::rotate()
# rotate the 1st 4 columns, switch the orders of the top 2 rows
hc_cols2 <- rotate(hc_cols, c(4,3,2,1,5:10))
hc_rows2 <- rotate(hc_rows, c(2:1,3:8))
Heatmap(mat, cluster_rows=hc_rows2, cluster_columns=hc_cols2,
col = colorRamp2(c(-1, 0, 1), c("green", "white", "red")),
top_annotation = col_anno, right_annotation = row_anno,
name = "mat",
column_title = "Heatmap3 (hclust + rotate)")
File history
Click on a date/time to view the file as it appeared at that time.
| Date/Time | Thumbnail | Dimensions | User | Comment | |
|---|---|---|---|---|---|
| current | 13:44, 13 August 2023 | 1,314 × 448 (52 KB) | Brb (talk | contribs) | <syntaxhighlight lang="rsplus"> library(circlize) set.seed(123) mat = matrix(rnorm(80), 8, 10) rownames(mat) = paste0("R", 1:8) colnames(mat) = paste0("C", 1:10) col_anno = HeatmapAnnotation( df = data.frame(anno1 = 1:10, anno2 = rep(letters[1:3], c(4,3,3))), col = list(anno2 = c("a" = "red", "b" = "blue", "c" = "green"))) row_anno = rowAnnotation( df = data.frame(anno3 = 1:8, anno4 = rep(l... |
You cannot overwrite this file.
File usage
The following page uses this file: