A Tidy Implementation of Heatmap (original) (raw)
Stefano Mangiola 2025-01-26
tidyHeatmap
is a package that introduces tidy principles to the creation of information-rich heatmaps. This package uses ComplexHeatmap as graphical engine.
Full documentation here
Advantages:
- Modular annotation with just specifying column names
- Custom grouping of rows is easy to specify providing a grouped tbl. For example
df |> group_by(...)
- Labels size adjusted by row and column total number
- Default use of Brewer and Viridis palettes
Functions/utilities available
Function | Description |
---|---|
heatmap | Plots base heatmap |
group_by | dplyr function - groups heatpmap rows/columns |
annotation_tile | Adds tile annotation to the heatmap |
annotation_point | Adds point annotation to the heatmap |
annotation_bar | Adds bar annotation to the heatmap |
annotation_numeric | Adds bar + number annotation to the heatmap |
annotation_line | Adds line annotation to the heatmap |
layer_text | Add layer of text on top of the heatmap |
layer_point | Adds layer of symbols on top of the heatmap |
layer_square | Adds layer of symbols on top of the heatmap |
layer_diamond | Adds layer of symbols on top of the heatmap |
layer_arrow_up | Adds layer of symbols on top of the heatmap |
layer_arrow_down | Add layer of symbols on top of the heatmap |
layer_star | Add layer of symbols on top of the heatmap |
layer_asterisk | Add layer of symbols on top of the heatmap |
split_rows | Splits the rows based on the dendogram |
split_columns | Splits the columns based on the dendogram |
save_pdf | Saves the PDF of the heatmap |
+ | Integrate heatmaps side-by-side |
as_ComplexHeatmap | Convert the tidyHeatmap output to ComplexHeatmap for non-standard “drawing” |
wrap_heatmap | Allows the integration with the patchwork package |
Installation
To install the most up-to-date version
To install the most stable version (however please keep in mind that this package is under a maturing lifecycle stage)
Contribution
If you want to contribute to the software, report issues or problems with the software or seek support please open an issue here