Changes in version 2.25.2 o `make_layout,HeatmapList-class`: `row_order`/`column_order` is reset if `cluster_rows`/`cluster_columns` is set to TRUE in `draw()`. Changes in version 2.25.1 o `adjust_heatmap_list()`: fixed a bug where slice gaps were repeatedly used to calculate the heatmap width/height. #1240 o `names<-,HeatmapAnnotation()`: `label` slot is correctedly assigned with the new name. Changes in version 2.21.2 o `anno_barplot()`: fixed a bug when `add_numbers = TRUE` and `axis_param=c(direction="reverse")` are both set. Changes in version 2.21.1 o `pheatmap()`: `na_col` is passed to `Heatmap()`. Changes in version 2.15.3 o `Legend()`: `legend_gp` also controls line color, width and style. o `anno_mark()`: labels can be duplicated. Changes in version 2.15.1 o `Legend()`: allows `NA` in `pch`. o `SingleAnnotation()`: correctly calculate the max width/height of a vector of texts. o `to_unit()`: fixed a bug when the unit is negative. o `Legend()`: add `tick_length` argument. o `Legend()`: colors are correctly calculated when differences between `at` are not equal. Changes in version 2.13.4 o `anno_barplot()`: fixed a bug when split is set, the bars are wrongly plotted under besides = TRUE. o `anno_boxplot()`: add two new argumetn: `add_points` and `pt_gp`. o fixed a bug of size of column title wrongly calculated. Changes in version 2.13.2 o `HeatmapAnnotation()`: fixed a bug where annotation legends are not all generated when `df` is set. o `UpSet()`: now `bg_col` can be a vector of length more than two. o `oncoPrint()`: Add `pct_include` argument. o `anno_density()`: fixed a bug where `xlim` is ignored for "heatmap". Changes in version 2.13.1 o `column_title_rot` can be set with any degree value. o automatically recognize Jupyter environment. o `UpSet()`: `comb_col` now is correctly assigned when the combination matrix is transposed. Changes in version 2.11.2 o discrete color mapping: when heatmap_param_list$at is set, it is reduced accordingly to `col`. Changes in version 2.11.1 o add a global option `ht_opt$COLOR` to control colors for continuous color mapping. o `annotation_label` can be an `expression` object. o `recycle_gp()`: now consider when n = 0. o `anno_block()`: add `align_to` argument. o add `anno_text_box()` and `grid.text_box()`. o add `show_name` argument in `anno_empty()`. o the validation of annotations in `HeatmapAnnotation()` is simplified. o add `anno_numeric()`. o when `rect_gp = gpar(type = "none")`, `use_raster` is enforced to be FALSE. o "global variables" outside `cell_fun`/`layer_fun` are aotumatially identified and saved locally. Changes in version 2.9.4 o fixed a bug of missing right annotation legends for vertically concatenated heatmaps. o `Legend()`: support `border` to be set to `asis`. o Rasterization: the default maximal size for temporary image is set to 30000 px (both for width and height). o add a new argument `beside` in `anno_barplot()` to position bars beside each other. o add `plot()` method for `Heatmap` and `HeatmapList` classes. o add `anno_customize()`. Changes in version 2.9.3 o `pheatmap()`/`heatmap()`/`heatmap.2()`: set default of run_draw to FALSE. o throw error when the heatmaps (list) are already initialized by draw() when adding them. o set `wrap = TRUE` in `grid.grabExpr()` when capturing the legend objects. o `make_comb_mat()`: support `GRangesList` object as input. o legends: fixed a bug of the grid heights were not correctedly calculated. o discrete annotations: neighbour grids are merged into one single grid if they have the same values. o `anno_barplot()`: allows to add numbers on top of bars. o `UpSet()`: axis labels are automatically formated for genomic coordinates. o `AnnotationFunction()`: add a new argument `cell_fun`. o When the dendrogram height is zero, the corresponding viewport has scale (0, 1). Changes in version 2.9.2 o fixed a bug of `bg_col` for transposed matrix in `UpSet()`. o print warnings if names of annotations have different orders from the matrix row/column names. Changes in version 2.9.1 o fixed a bug of editing gTree object where the list element "just" has been changed to "justification" in recent R versions. Changes in version 2.7.10 o `anno_simple()`: text symbols can have nchar > 1. o `anno_text()`: add `show_name` argument. Changes in version 2.7.9 o add `frequencyHeatmap()`. o add `Heatmap3D()`. Changes in version 2.7.8 o add `cluster_between_groups()`. o add `graphics` argument in `anno_block()`. Changes in version 2.7.7 o discrete numeric legend labels are in correct order now. o parallel is implemented with foreach + doParallel o expression is properly processed for discrete legends o `adjust_dend_by_x()`: simplified the representation of units. o number of split can be the same as number of matrix rows/columns. Changes in version 2.7.6 o `Legend()`: add a new argument `grob`. Changes in version 2.7.5 o `anno_block()`: add `labels_offset` and `labels_just`. o `anno_lines()`: `show_points` can be a vector. o `pheatmap()`: support `kmeans_k`. Changes in version 2.7.4 o add `save_last` option in `ht_opt()`. Changes in version 2.7.1 o `normalize_comb_mat()`: add `full_comb_sets` and `complement_set` arguments to control full sets of combination sets. o adjust the space of column title according to ggplot2. o `Legend()`: for title_position == "lefttop", the title position is adjusted. o Legends are automatically adjusted according to the device size when resizing the device. o `Legend()`: add `interval_dist` to control the distance of two neighbouring breaks. o Fixed a bug that it crashes Rstudio o `make_comb_mat()`: print warning messages when there are NA values in the matrix. o temporary solution for woking under retina display with Rstudio o add `bin_genome()` and `normalize_genomic_signals_to_bins()` o print messages if directly sending `anno_*()` functions to `top_annotation` or similar arguments. o `pheatmap()`: set heatmap name to " " so that there is no legend title by default. o also translate `stats::heatmap()` and `gplots::heatmap.2()`. o move all code for interactive heatmap to InteractiveComplexHeatmap package. Changes in version 2.5.6 o `ht_shiny()`: add argument `app`. o `grid.dendrogram()`: change the recursive implementation with iterations. o change default raster device to `CairoPNG`. o `Heatmap()`: If the discrete `col` covers more than the levels in the matrix, the full color set is still saved, which means, in `heatmap_legend_param` you can set `at` that are not all in the matrix but are in the `col`. o padding of the whole plot and spaces of column titles are adjusted to fit ggplot2 o add `row_gap` and `column_gap` in `Legend()`. o `oncoPrint()`: now draw legends the same as `alter_fun`. o add a new function `attach_annotation()`. o legends for row annotations can be grouped with column annotation legends. o annotation name allows rotations. Changes in version 2.5.5 o still draw the legend when all values are NA in an annotation. o add `show_fraction` argument in `anno_oncoprint_barplot()` function to show the fractions of mutations instead of the counts. o `pheatmap()`: improve the setting of `color` and `breaks`. o `ht_opt$TITLE_PADDING` can be set with a unit of length two. o `HeatmapAnnotation()`: remove colors that are not in the annotations. o `pheatmap()`: fixed a bug when length(breaks) = length(color) + 1 o `pheatmap()`: legend breaks are centered to zero if the matrix is scaled. o `pheatmap()`: color mapping is symmetric to zero when scale is set. o support ragg package to write temporary png files o `densityHeatmap()`: column dendrogram is reordered by column means for ks method. Changes in version 2.5.4 o fixed a bug where slice clusters were wrongly reordered. o `Heatmap()`: add `border_gp` argument. o Legends are nicely placed. o `anno_block()`: allows to set height and width. o support better rasterization. o support setting graphics on dendrogram nodes. o Add a new vignette "interactive heatmap" o `Legends()`: fixed a bug of mixtype "legend" to "Legend". o now assign correct envir to `decorate_dend()`. o `pheatmap()`: check `NA` in the matrix. o `grid.dendrogram()`: consider branches with height zero. o checking the dimension of the matrix and the nobs of annotations when adding them. Changes in version 2.5.3 o add `selectArea()`/`selectPosition()` which allows interactively select a region from the heatmaps. o export the heatmap as a shiny app!!! o `col` in `Heatmap()` accpets a `ColorMapping` object. o `default_col()`: print a message if there are outliers in the matrix. o `discrete_legend_body()`: adjust ncol and nrow if there are empty rows and columns in the layout. o `anno_image()`: fixed a bug that images are not reordered. o `anno_mark()`: now expression is correctly supported. o `anno_zoom()`: order of index in `panel_fun` is adjusted to the order in the heatmap o `list_to_matrix()`: convert elements to characters. o print messages for `anno_mark()`, `anno_zoom()`, `draw_legend()` (if legends are wrapped) if working under RStudio. Changes in version 2.5.2 o translate pheatmap to Heatmap o `upset_top_annotation()` and `upset_right_annotation()`: the names of the annotations are changed to `intersection_size`, `set_size` and `union_size`. o `list_components()`: adds `pattern` argument. Changes in version 2.5.1 o A temporary solution of the sum of two complicated units (in temp.R). Changes in version 2.3.4 o add `alter_graphic()` to automatically generate alteration graphic functions. o add `label`/`annotation_label` argument in `SingleAnnotation()` and `HeatmapAnnotation()`. o improved the subsetting methods for `comb_mat` class o rewrite `smartAlign2()` Changes in version 2.3.3 o support **gridtext** package o fixed the bug of node stack overflow when there are many identical rows for drawing the dendrogram. see (http://www.thinkingincrowd.me/2016/06/06/How-to-avoid-Stack-overflow-error-on-recursive/) o support to set legend gaps o print important messages, e.g. when number of rows are more than 2000, interanlly use_raster is turned on and the message should be printed to users. o UpSet plots: optimize the processing of many sets (current solution consumes huge memory) o UpSet plots: the "intersect" and "union" modes are currectly calculated. o `anno_block()`: add `show_name` argument. Changes in version 2.3.2 o `anno_simple()`: fixed a bug when pch are all NA in a slice o adjust code according to grid 4.0. o move scripts in test_not_run/ to tests/ folder o `Heatmap()`: `cluster_row_slice`/`cluster_column_slice` set to TRUE by default for character matrix and when dendrogram is already provided. o `smartAlign2()`: improved the code that positions are correctly calculated. o row titles are in the correct order if they are set as "template". Changes in version 2.3.1 o `anno_points()`: allows images as symbols. o add `HEATMAP_LEGEND_PADDING` and `ANNOTATION_LEGEND_PADDING` options in `ht_opt` o `oncoPrint()`: print messages if there are NA values in the input matrix Changes in version 2.1.1 o `Heatmap()`: give error when heatmap has empty string as its name. o `anno_mark()`: text positions are correctly calculated now with rotations. o The order of legend labels are ordered by either `sort` or `levels`. Changes in version 2.1.0 o check the length of the clustering objects and the matrix rows/columns o `anno_oncoprint_barplot()`: add `ylim` argumnet o `anno_mark()`: add `labels_rot` argument o `draw_legend()`: legends for annotations with the same names are merged o `densityHeatmap()`: `ylim` works as it is expected. o add `cluster_row_slices` and `cluster_column_slices` to `draw,HeatmapList-method()` o `densityHeatmap()`: `col` can be set as a function o add `cluster_rows`/`cluster_columns` in `oncoPrint()` o legend labels support symbols o `Heatmap()`: add `jitter` argument to add tiny random shift to original matrix. It is mainly to solve the problem of "Error: node stack overflow" when there are too many identical rows/columns for plotting the dendrograms. Changes in version 1.99.8 o add `title_gap` in `Legend() o fixed a bug of wrong row title spaces when multiple heatmaps are vertically concatenated. o fixed a bug of *_sub_title_side when the heatmap annotation is the first/last element in the heatmap list. o zero-column/row heatmap is supported. o improved calculation of axis breaks Changes in version 1.99.7 o `UpSet()` supports adding complement sets. o `make_comb_set()`: add `universal_set` and `complement_size` arguments. o axes can be reversed in anno_* functions. Changes in version 1.99.6 o adjust the size of heatmap annotations and add testing scripts. o run multiple times k-means to get a consensus partition. o `show_heatmap_legend` is set to FALSE if `rect_gp = gpar(type = "none")`. o add `restore_matrix()`. o add `row_names_centered`/`column_names_centered` arguments to `Heatmap()`. o `gp` in `anno_text()` supports `fill` and `border`. o `Legend` adds boxplot-style legend. o adjustment according to annotation extension is improved. Changes in version 1.99.5 o add `UpSet()` and some related functions to make Upset plots o fixed bugs of drawing legends o add `test_alter_fun()` o `HeatmapAnnotation()`: fixed a bug for setting `height` when all annotations are simple annotations. o `default_col()`: if the fraction of positive values in the matrix is in (0.3, 0.7), the color mapping is symmetric to zero. o check `NA` values in `anno_boxplot()` and `anno_density()`. o add `mc.cores` in `densityHeatmap()`. Changes in version 1.99.4 o anno_mark() is now calculated in multiple slices. o oncoPrint(): automatically split the alteration type if the separator is one of ";:,|". o add anno_zoom() Changes in version 1.99.1 o add `cluster_row_slices` and `cluster_column_slices` arguments in `Heatmap()`. o fixed a bug when annotation_height with only one annotation o order of k-means slices are reordered by slice mean of `row_reorder`/`column_reorder` if they are provided as vectors. o remove **rsvg** from Suggests. Changes in version 1.99.0 This a major update of the package. The main changes are o support column split o support align heatmaps vertically o add a naive `AnnotationFunction` class to handle annotation functions o add more annotation functions Changes in version 1.19.1 o `Heatmap()`: no column name added if the input matrix is a one-column matrix. o `oncoPrint()`: scales the the row annotations are now the same if rows are split. Changes in version 1.17.1 o `Legend()`: add `by_row` argument to control the arrangement of legends if they are put in more than one columns o `Legend()`: use `textGrob()` if the point symbol is text o `grid.dendrogram()`: fix a bug that the dendrogram is wrong when row/column names have duplicated names. o `anno_boxplot()`: axis rescaled when outline = FALSE o `oncoPrint()`: rows are first ordered by total number of mutations and then ordered by number of samples that have mutations o correctly reorder rows o add `row_gap` argument for list of heatmaps o `oncoPrint()`: add `j` and `i` as optional argument for `alter_fun` Changes in version 1.15.1 o random colors are generated by new `rand_color()` function in circlize package. o add `density_param` in `densityHeatmap()` function o annotations with duplicated names have no legends any more o re-implement `grid.xaxis()` to draw axis labels rotated 90 degrees o grids in discrete legend are arranged by rows if ncol > 1 o raster image is generated in an independent R session o empty string in annotation or heatmap is mapped to NA o annotation and heatmap legends can be merged into one column. o change the default value of `row_names_max_width` and `column_names_max_height` o default legend style for continuous values is changed to "continuous" o add `grid.dendrogram2()` which draws dendrograms with uneven position for leaves o move **dendextend** to Suggests field because it depends/imports rlang indirectly which has a `print.frame()` function and it will affect to print a `frame` object returned by `frameGrob()`. o `decorate_*()` functions return to the viewport where they are called. o fixed a bug that annotation names are drawn for all row slices. o construct a valid path under Windows Changes in version 1.13.2 o add `packLegend()` Changes in version 1.13.1 o `Heatmap()`: add `km_title` to set the format of row title when `km` is set o `anno_link()`: add `extend` to extend the regions for the labels o `anno_boxplot()`: for row annotation, outliers are in the correct in y-axis. Thanks @gtg602c for the fix o `HeatmapAnnotation()`: gaps are included in the size of the annotations o `anno_link()`: graphic parameters are correctly reordered o `densityHeatmap()`: viewport is created with `clip = TRUE` o `decorate_*()`: add `envir` option to control where to look for variables inside `code` o `Legend()`: title supports expression o `anno_*()`: if the input is a data frame, warn that users may convert it to matrix Changes in version 1.11.8 o `anno_barplot()`: accept a matrix as input to plot stacked barplots Changes in version 1.11.7 o SingleAnnotation: if `col` is a vector with no names, it will be assigned as `level(value)` or `unique(value)` o HeatmapAnnotation: give warnings if color is defined while with no annotations o HeatmapAnnotation: check `col`, if it is not valid, give warnings o catch error when making annotation graphics Changes in version 1.11.6 o simply bump the verison number o `gap` in `Heatmap()` now can be a vector Changes in version 1.11.5 o `gap` in `HeatmapAnnotation` has been adjusted o annotations support drawing names of either sides o `densityHeatmap()`: quantile lines are also reordered o export `anno_oncoprint_barplot` o `Heatmap()`: if `col` is a unnamed vector and the number of colors is same as unique itemes in `mat`, the name of `col` vector is set to `sort(unique(mat)) o adjusted the order of annotation legends o discreat legend: if a level is not in the data while defined by `col`, it will be removed. Changes in version 1.11.2 o `grid.dendrogram()`: do not draw dendrogram if the height is zero o `densityHeatmap()`: support clustering on columns and more controls on column settings Changes in version 1.11.1 o `draw,HeatmapList-method` can control row order and clustering of the main heatmap Changes in version 1.9.7 o add `Legend()` function which is more flexible to generate different types of legends. Changes in version 1.9.6 o `color_mapping_legend()`, there are ticks on continuous color bar Changes in version 1.9.5 o add a section in the vignette to show how to adjust positions of column names when there are bottom annotations. o fixed a bug that character NA values can not to assigned with na_col o extra character 'at' and 'labels' in legends will be removed automatically o all arguments which are passed to `make_layout()` are all explicitly put in `draw()` instead of using ... Changes in version 1.9.4 o heatmap bodied can be set as raster images if number of rows are too huge Changes in version 1.9.3 o graphic parameters are correctly recycled in row annotations o if there is only one row after splitting, there will be no dendrogram o add `range` option in `densityHeatmap()` o when `gap` is set for the main heatmap, other heatmps also adjust their `gap` values to it o fixed a bug that when rownames/colnames are not complete, dendrograms are corrupted o `alter_fun` now supports adding graphics grid by grid o add `show_pct` option in `oncoPrint()` o add `column_order` in `densityHeatmap()` Changes in version 1.9.2 o imporved example of `anno_link()` Changes in version 1.9.1 o width of the heatmap body are calculated correctly if it is set as a fixed unit o there is no dendrogram is nrows in a row-slice is 1 o add `anno_link()` annotation function o bottom annotations are attached to the bottom edge of the heatmap if there are additional blank space o colors for NA can be set by "_NA_" in annotations o `row_dend_reorder` and `column_dend_reorder` are set to `TRUE` by default again -_-!! o optimize the way to specify na_col in heatmap annotations o correct wrong viewport names in decorate_* functions Changes in version 1.7.3 o `oncoPrint()`: add `barplot_ignore` option to remove alterations that are not put on the barplot. o `oncoPrint()`: delete extra alter_fun if they are not in the matrix Changes in version 1.7.2 o for `anno_points()`, `anno_barplot()`, `anno_boxplot()`, the name is assigned to the viewport with data ranges o oncoPrint(): top_annotation is assigned with correct height Changes in version 1.7.1 o `x` and `y` are `unit` object now in `cell_fun` o add an example to visualize GO game o transparency is kept when making discreate color mappings o `oncoPrint()`: barplots on top now are controlled by `top_annotation` argument Changes in version 1.5.1 o `oncoPrint`: there are default graphics if type of alterations is less than two. o `anno_*`: get rid of lazy loading Changes in version 1.4.4 o NULL can be added to the heatmap list o give message if users mess up with row and column annotations o `oncoPrint`: columns are sorted by `memo sort` method to enhance the mutual exclusivity. Changes in version 1.4.3 o `anno_boxplot`: outliers can correctly plotted o add a new function `enhanced_basicplot` o fix a bug that order of annotation height is reversed Changes in version 1.4.2 o order of annotations can be adjusted arbitrarily o anno_barplot: scales are adjusted according to the baseline Changes in version 1.4.1 o revised the vignettes Changes in version 1.4.0 o returned value for `draw` method has been changes o add `row_order`, `column_order`, `row_dend` and `column_dend` to extract orders and dendrograms after heatmap clustering o add `select` function to interactively select sub region in the heatmap and retrieve row/column index in the selected sub region. o renames all varialbes `*hclust*` to `*dend*` Changes in version 1.3.3 o set `row_reorder` and `column_reorder` to FALSE by default in `Heatmap()` Changes in version 1.3.2 o fixed the error in the vignette header Changes in version 1.3.1 o padding of whole plot are correctly set now Changes in version 1.3.0 o parameters for legend are specified by a list o vignette was split into several vignettes which focus on specific topics o ColorMapping class suppoorts `at` and `labels` o add `row_anno_*` and `column_anno_*` functions o `anno_barplot` add `baseline` option to define the baseline of bars o change default colors for matrix o allow heatmap with zero-row o heatmap components can all have absolute units o add `oncoPriint()` Changes in version 1.2.8 o add decorate* functions Changes in version 1.2.7 o add `rows_reorder_weight` and `columns_reorder_weight` in `Heatmap()` o `draw,HeatmapList-method` returns a list of orders o clustering is stored as dendrogram internally Changes in version 1.2.6 o graphical parameters for row names can be set as same length as row slices o graphical parameters for annotation functions are consistent with the matrix now o insert `k = NULL` into anno_function if they are row annotations o add a new vignette "quick examples" o change style for continuous legend color bar o label order of discrete legend has been adjusted (now it is from top to bottom) Changes in version 1.2.5 o add dependency of base packages Changes in version 1.2.4 o name for ColorMapping object has default value now. o legend for continuous values can be set as continuous legends o row title and column title as well as legend title support expression o add `heatmap_legend_title` in `Heatmap` and `ColorMapping` o fixed a bug in `plotDataFrame` Changes in version 1.2.3 o `color_mapping_legend` can produce a continuous color legend o `color_mapping_legend` now returns a grob object Changes in version 1.2.2 o adjust positions for row titles o rows can be split if `cluster_rows` are a clustering object o `row_order` and `column_order` can be set by dimension names Changes in version 1.2.1 o adjust orders of row slices o support text rotation for heatmap titles Changes in version 1.2.0 o correct row orders if km and row_order is set in `Heatmap` Changes in version 1.1.9 o adjust names and size of each component o add `densityHeatmap` function which visualizes column distribution in a matrix o add `plotDataFrame` function which provides a quick way to visualize a data frame Changes in version 1.1.8 o dendrograms are implemented by `grid.segments` o setting padding for each component o adjust gaps between heatmaps/row annotations if the column of the heatmap is zero. Changes in version 1.1.7 o check consistency of matrix row names Changes in version 1.1.6 o improved generation of random colors o order of heatmap annotation legends are same as the order of annotations o support NA value in simple annotations o add examples in the vignette o simple row annotations now have the correct order o `col` can be a vector of colors if matrix is continuous o simple annotation can be logical Changes in version 1.1.5 o add gaps between heatmap components Changes in version 1.1.4 o support color mapping for NA values Changes in version 1.1.3 o Improved vignette to describe how to use row index in row annotation function if row annotations are also splitted by rows. Changes in version 1.1.2 o `anno_density`: graphics are now in correct order o add `anno_text` o add new examples corresponding to new functions Changes in version 1.1.1 o fixed a bug when setting `cluster_rows` to FALSE but still cluster on rows. o add `rowAnnotation` and `columnAnnotation` functions o add examples in the vignette o No error if the heatmap list only contains zero-column matrix Changes in version 0.99.2 o add two examples in vignette o add chunk labels in the vignette Changes in version 0.99.1 o x and y in `cell_fun` are now `unit` objects. Changes in version 0.99.0 o First release