ht_global_opt$verbose = FALSE
ht_global_opt$show_vp_border = FALSE
set.seed(123)
nr1 = 10; nr2 = 8; nr3 = 6
nc1 = 6; nc2 = 8; nc3 = 10
mat = cbind(rbind(matrix(rnorm(nr1*nc1, mean = 1, sd = 0.5), nr = nr1),
matrix(rnorm(nr2*nc1, mean = 0, sd = 0.5), nr = nr2),
matrix(rnorm(nr3*nc1, mean = 0, sd = 0.5), nr = nr3)),
rbind(matrix(rnorm(nr1*nc2, mean = 0, sd = 0.5), nr = nr1),
matrix(rnorm(nr2*nc2, mean = 1, sd = 0.5), nr = nr2),
matrix(rnorm(nr3*nc2, mean = 0, sd = 0.5), nr = nr3)),
rbind(matrix(rnorm(nr1*nc3, mean = 0.5, sd = 0.5), nr = nr1),
matrix(rnorm(nr2*nc3, mean = 0.5, sd = 0.5), nr = nr2),
matrix(rnorm(nr3*nc3, mean = 1, sd = 0.5), nr = nr3))
)
rownames(mat) = paste0("row", seq_len(nrow(mat)))
colnames(mat) = paste0("column", seq_len(nrow(mat)))
ht = Heatmap(mat)
draw(ht, test = TRUE)
ht
ht = Heatmap(mat, col = colorRamp2(c(-3, 0, 3), c("green", "white", "red")))
draw(ht, test = TRUE)
ht = Heatmap(mat, name = "test")
draw(ht, test = TRUE)
ht = Heatmap(mat, rect_gp = gpar(col = "black"))
draw(ht, test = TRUE)
ht = Heatmap(mat, border = "red")
draw(ht, test = TRUE)
######## test title ##########
ht = Heatmap(mat, row_title = "blablabla")
draw(ht, test = TRUE)
ht = Heatmap(mat, row_title = "blablabla", row_title_side = "right")
draw(ht, test = TRUE)
ht = Heatmap(mat, row_title = "blablabla", row_title_gp = gpar(fontsize = 20, font = 2))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_title = "blablabla", row_title_rot = 45)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_title = "blablabla", row_title_rot = 0)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_title = "blablabla", row_title_gp = gpar(fill = "red", col = "white"))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_title = "blablabla")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_title = "blablabla", column_title_side = "bottom")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_title = "blablabla", column_title_gp = gpar(fontsize = 20, font = 2))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_title = "blablabla", column_title_rot = 45)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_title = "blablabla", column_title_rot = 90)
draw(ht, test = TRUE)
### test clustering ####
ht = Heatmap(mat, cluster_rows = FALSE)
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_distance_rows = "pearson")
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_distance_rows = function(x) dist(x))
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_distance_rows = function(x, y) 1 - cor(x, y))
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_method_rows = "single")
draw(ht, test = TRUE)
ht = Heatmap(mat, row_dend_side = "right")
draw(ht, test = TRUE)
ht = Heatmap(mat, row_dend_width = unit(4, "cm"))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_dend_gp = gpar(lwd = 2, col = "red"))
draw(ht, test = TRUE)
dend = as.dendrogram(hclust(dist(mat)))
ht = Heatmap(mat, cluster_rows = dend)
draw(ht, test = TRUE)
dend = color_branches(dend, k = 3)
ht = Heatmap(mat, cluster_rows = dend)
draw(ht, test = TRUE)
ht = Heatmap(mat, cluster_columns = FALSE)
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_distance_columns = "pearson")
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_distance_columns = function(x) dist(x))
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_distance_columns = function(x, y) 1 - cor(x, y))
draw(ht, test = TRUE)
ht = Heatmap(mat, clustering_method_columns = "single")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_dend_side = "bottom")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_dend_height = unit(4, "cm"))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_dend_gp = gpar(lwd = 2, col = "red"))
draw(ht, test = TRUE)
dend = as.dendrogram(hclust(dist(t(mat))))
ht = Heatmap(mat, cluster_columns = dend)
draw(ht, test = TRUE)
dend = color_branches(dend, k = 3)
ht = Heatmap(mat, cluster_columns = dend)
draw(ht, test = TRUE)
### test row/column order
od = c(seq(1, 24, by = 2), seq(2, 24, by = 2))
ht = Heatmap(mat, row_order = od)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_order = od, cluster_rows = TRUE)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_order = od)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_order = od, cluster_columns = TRUE)
draw(ht, test = TRUE)
#### test row/column names #####
ht = Heatmap(unname(mat))
draw(ht, test = TRUE)
ht = Heatmap(mat, show_row_names = FALSE)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_names_side = "left")
draw(ht, test = TRUE)
random_str = function(k) {
sapply(1:k, function(i) paste(sample(letters, sample(5:10, 1)), collapse = ""))
}
ht = Heatmap(mat, row_labels = random_str(24))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_names_gp = gpar(fontsize = 20))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_names_gp = gpar(fontsize = 1:24/2 + 5))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_names_rot = 45)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_names_rot = 45, row_names_side = "left")
draw(ht, test = TRUE)
ht = Heatmap(mat, show_column_names = FALSE)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_names_side = "top")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_labels = random_str(24))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_names_gp = gpar(fontsize = 20))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_names_gp = gpar(fontsize = 1:24/2 + 5))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_names_rot = 45)
draw(ht, test = TRUE)
### test annotations ####
anno = HeatmapAnnotation(
foo = 1:24,
df = data.frame(type = c(rep("A", 12), rep("B", 12))),
bar = anno_barplot(24:1))
ht = Heatmap(mat, top_annotation = anno)
draw(ht, test = TRUE)
ht = Heatmap(mat, bottom_annotation = anno)
draw(ht, test = TRUE)
ht = Heatmap(mat, top_annotation = anno, bottom_annotation = anno)
draw(ht, test = TRUE)
### test split ####
ht = Heatmap(mat, km = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, split = rep(c("A", "B"), times = c(6, 18)))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = rep(c("A", "B"), times = c(6, 18)))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = factor(rep(c("A", "B"), times = c(6, 18)), levels = c("B", "A")))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = rep(c("A", "B"), 12), row_gap = unit(5, "mm"))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = data.frame(rep(c("A", "B"), 12), rep(c("C", "D"), each = 12)))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = data.frame(rep(c("A", "B"), 12), rep(c("C", "D"), each = 12)),
row_gap = unit(c(1, 2, 3), "mm"))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, row_title = "foo")
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, row_title = "cluster%s")
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, row_title = "cluster%s", row_title_rot = 0)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, row_title = "cluster%s", row_title_gp = gpar(fill = 2:4, col = "white"))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, row_title = NULL)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, row_names_gp = gpar(col = 2:4))
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = rep(c("A", "B"), times = c(6, 18)), row_km = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = rep(c("A", "B"), times = c(6, 18)), row_km = 3, row_title = "cluster%s,group%s", row_title_rot = 0)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = 2)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = 2, row_title = "foo")
ht = Heatmap(mat, row_split = 2, row_title = "cluster%s")
dend = as.dendrogram(hclust(dist(mat)))
ht = Heatmap(mat, cluster_rows = dend, row_split = 2)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = 2, row_names_gp = gpar(col = 2:3))
draw(ht, test = TRUE)
### column split
ht = Heatmap(mat, column_km = 2)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_gap = unit(1, "cm"))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_split = rep(c("A", "B"), times = c(6, 18)))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_split = data.frame(rep(c("A", "B"), 12), rep(c("C", "D"), each = 12)),
column_gap = unit(c(1, 2, 3), "mm"))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_title = "foo")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_title = "cluster%s")
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_title = "cluster%s", column_title_rot = 90)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_title = "cluster%s", column_title_gp = gpar(fill = 2:3, col = "white"))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_title = NULL)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_km = 2, column_names_gp = gpar(col = 2:3))
draw(ht, test = TRUE)
ht = Heatmap(mat, column_split = factor(rep(c("A", "B"), times = c(6, 18)), levels = c("A", "B")), column_km = 2)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_split = factor(rep(c("A", "B"), times = c(6, 18)), levels = c("B", "A")), column_km = 2)
ht = Heatmap(mat, column_split = rep(c("A", "B"), times = c(6, 18)), column_km = 2,
column_title = "cluster%s,group%s", column_title_rot = 90)
draw(ht, test = TRUE)
ht = Heatmap(mat, column_split = 3)
draw(ht, test = TRUE)
dend = as.dendrogram(hclust(dist(t(mat))))
ht = Heatmap(mat, cluster_columns = dend, column_split = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, top_annotation = anno, bottom_annotation = anno, column_km = 2)
draw(ht, test = TRUE)
ht = Heatmap(mat, top_annotation = anno, bottom_annotation = anno, column_split = 3)
draw(ht, test = TRUE)
### combine row and column split
ht = Heatmap(mat, row_km = 3, column_km = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = 3, column_split = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 3, column_split = 3)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_split = rep(c("A", "B"), 12),
column_split = rep(c("C", "D"), 12))
draw(ht, test = TRUE)
ht = Heatmap(mat, top_annotation = anno,
row_split = rep(c("A", "B"), 12),
row_names_gp = gpar(col = 2:3), row_gap = unit(2, "mm"),
column_split = 3,
column_names_gp = gpar(col = 2:4), column_gap = unit(4, "mm")
)
draw(ht, test = TRUE)
#### character matrix
mat3 = matrix(sample(letters[1:6], 100, replace = TRUE), 10, 10)
rownames(mat3) = {x = letters[1:10]; x[1] = "aaaaaaaaaaaaaaaaaaaaaaa";x}
ht = Heatmap(mat3, rect_gp = gpar(col = "white"))
draw(ht, test = TRUE)
### cell_fun
mat = matrix(1:9, 3, 3)
rownames(mat) = letters[1:3]
colnames(mat) = letters[1:3]
ht = Heatmap(mat, rect_gp = gpar(col = "white"), cell_fun = function(j, i, x, y, width, height, fill) grid.text(mat[i, j], x = x, y = y),
cluster_rows = FALSE, cluster_columns = FALSE, row_names_side = "left", column_names_side = "top",
column_names_rot = 0)
draw(ht, test = TRUE)
### test the size
ht = Heatmap(mat)
ht = prepare(ht)
ht@heatmap_param[c("width", "height")]
ht@matrix_param[c("width", "height")]
ht = Heatmap(mat, width = unit(10, "cm"), height = unit(10, "cm"))
ht = prepare(ht)
ht@heatmap_param[c("width", "height")]
ht@matrix_param[c("width", "height")]
draw(ht, test = TRUE)
ht = Heatmap(mat, width = unit(10, "cm"))
ht = prepare(ht)
ht@heatmap_param[c("width", "height")]
ht@matrix_param[c("width", "height")]
draw(ht, test = TRUE)
ht = Heatmap(mat, heatmap_body_width = unit(10, "cm"), heatmap_body_height = unit(10, "cm"))
ht = prepare(ht)
ht@heatmap_param[c("width", "height")]
ht@matrix_param[c("width", "height")]
draw(ht, test = TRUE)
ht = Heatmap(mat, heatmap_body_width = unit(10, "cm"))
ht = prepare(ht)
ht@heatmap_param[c("width", "height")]
ht@matrix_param[c("width", "height")]
draw(ht, test = TRUE)
ht = Heatmap(mat, use_raster = TRUE)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 2, use_raster = TRUE)
draw(ht, test = TRUE)
ht = Heatmap(mat, row_km = 2, column_km = 2, use_raster = TRUE)
draw(ht, test = TRUE)
#### test global padding
ra = rowAnnotation(foo = 1:24)
Heatmap(mat, show_column_names = FALSE) + ra
left_annotation = ra)
Heatmap(matrix(rnorm(100), 10), row_km = 2, row_title = "")
Heatmap(matrix(rnorm(100), 10), heatmap_width = unit(5, "mm"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.