## ----global_settings, echo = FALSE, message = FALSE----------------------------------------------- library(markdown) options(markdown.HTML.options = c(options('markdown.HTML.options')[[1]], "toc")) library(knitr) knitr::opts_chunk$set( error = FALSE, tidy = FALSE, message = FALSE, fig.align = "center", fig.width = 5, fig.height = 5) options(markdown.HTML.stylesheet = "custom.css") options(width = 100) ## ----heatmap_list_default, fig.width = 10--------------------------------------------------------- library(ComplexHeatmap) mat = matrix(rnorm(80, 2), 8, 10) mat = rbind(mat, matrix(rnorm(40, -2), 4, 10)) rownames(mat) = paste0("R", 1:12) colnames(mat) = paste0("C", 1:10) ht1 = Heatmap(mat, name = "ht1") ht2 = Heatmap(mat, name = "ht2") class(ht1) class(ht2) ht1 + ht2 ## ------------------------------------------------------------------------------------------------- ht_list = ht1 + ht2 class(ht_list) ## ---- eval = FALSE-------------------------------------------------------------------------------- # ht1 + ht1 + ht1 # ht1 + ht_list # ht_list + ht1 # ht_list + ht_list ## ---- eval = FALSE-------------------------------------------------------------------------------- # ht_list = NULL # for(s in sth) { # ht_list = ht_list + Heatmap(...) # } ## ----heatmap_list_title, fig.width = 10----------------------------------------------------------- ht1 = Heatmap(mat, name = "ht1", row_title = "Heatmap 1", column_title = "Heatmap 1") ht2 = Heatmap(mat, name = "ht2", row_title = "Heatmap 2", column_title = "Heatmap 2") ht_list = ht1 + ht2 draw(ht_list, row_title = "Two heatmaps, row title", row_title_gp = gpar(col = "red"), column_title = "Two heatmaps, column title", column_title_side = "bottom") ## ----heatmap_list_gap, fig.width = 10, fig.keep = "all"------------------------------------------- draw(ht_list, gap = unit(1, "cm")) draw(ht_list + ht_list, gap = unit(c(3, 6, 9, 0), "mm")) ## ----heatmap_list_size, fig.width = 10, fig.keep = "all"------------------------------------------ ht1 = Heatmap(mat, name = "ht1", column_title = "Heatmap 1") ht2 = Heatmap(mat, name = "ht2", column_title = "Heatmap 2", width = unit(5, "cm")) ht1 + ht2 ## ----heatmap_list_relative_size, fig.width = 10, fig.keep = "all"--------------------------------- ht1 = Heatmap(mat, name = "ht1", column_title = "Heatmap 1", width = 2) ht2 = Heatmap(mat, name = "ht2", column_title = "Heatmap 2", width = 1) ht1 + ht2 ## ----heatmap_list_auto_adjust, fig.width = 10, fig.keep = "all"----------------------------------- ht1 = Heatmap(mat, name = "ht1", column_title = "Heatmap 1", km = 2) ht2 = Heatmap(mat, name = "ht2", column_title = "Heatmap 2") ht1 + ht2 # note we changed the order of `ht1` and `ht2` draw(ht2 + ht1) # here although `ht1` is the second heatmap, we specify `ht1` to be # the main heatmap by explicitely setting `main_heatmap` argument draw(ht2 + ht1, main_heatmap = "ht1") ## ----heatmap_list_auto_adjust_no_row_cluster, fig.width = 10-------------------------------------- ht1 = Heatmap(mat, name = "ht1", column_title = "Heatmap 1", cluster_rows = FALSE) ht2 = Heatmap(mat, name = "ht2", column_title = "Heatmap 2") ht1 + ht2 ## ---- fig.width = 10------------------------------------------------------------------------------ ht_global_opt(heatmap_row_names_gp = gpar(fontface = "italic"), heatmap_column_names_gp = gpar(fontsize = 14)) ht1 = Heatmap(mat, name = "ht1", column_title = "Heatmap 1") ht2 = Heatmap(mat, name = "ht2", column_title = "Heatmap 2") ht1 + ht2 ht_global_opt(RESET = TRUE) ## ------------------------------------------------------------------------------------------------- names(ht_global_opt()) ## ------------------------------------------------------------------------------------------------- ht_list = ht1 + ht2 row_order(ht_list) column_order(ht_list) row_dend(ht_list) column_dend(ht_list) ## ---- eval = FALSE-------------------------------------------------------------------------------- # ht_list = draw(ht1 + ht2) # row_order(ht_list) # column_order(ht_list) # row_dend(ht_list) # column_dend(ht_list) ## ------------------------------------------------------------------------------------------------- sessionInfo()