# Make Complex Heatmaps <a href="https://jokergoo.github.io/ComplexHeatmap-reference/book/"><img src="https://jokergoo.github.io/ComplexHeatmap-reference/book/complexheatmap-cover.jpg" width=240 align="right" style="border:2px solid black;" ></a>
[](https://travis-ci.org/jokergoo/ComplexHeatmap)
[](https://codecov.io/github/jokergoo/ComplexHeatmap)
[](https://bioconductor.org/packages/stats/bioc/ComplexHeatmap/)
[](https://bioconductor.org/packages/stats/bioc/ComplexHeatmap/)
[](http://bioconductor.org/packages/devel/bioc/html/ComplexHeatmap.html)
<img src="http://jokergoo.github.io/complexheatmap_logo.svg" width="600">
Complex heatmaps are efficient to visualize associations between different
sources of data sets and reveal potential patterns. Here the
**ComplexHeatmap** package provides a highly flexible way to arrange multiple
heatmaps and supports various annotation graphics.
## Citation
Zuguang Gu, Roland Eils and Matthias Schlesner, [Complex heatmaps reveal patterns and correlations in multidimensional genomic data](http://bioinformatics.oxfordjournals.org/content/early/2016/05/20/bioinformatics.btw313.abstract), Bioinformatics, 2016
## Documentation
The full documentations are available at https://jokergoo.github.io/ComplexHeatmap-reference/book/ and the website is at https://jokergoo.github.io/ComplexHeatmap.
## Install
`ComplexHeatmap` is available on [Bioconductor](http://www.bioconductor.org/packages/devel/bioc/html/ComplexHeatmap.html), you can install it by:
```r
if (!requireNamespace("BiocManager", quietly=TRUE))
install.packages("BiocManager")
BiocManager::install("ComplexHeatmap")
```
If you want the latest version, install it directly from GitHub:
```r
library(devtools)
install_github("jokergoo/ComplexHeatmap")
```
## Usage
Make a single heatmap:
```r
Heatmap(mat, ...)
```
A single Heatmap with column annotations:
```r
ha = HeatmapAnnotation(df = anno1, anno_fun = anno2, ...)
Heatmap(mat, ..., top_annotation = ha)
```
Make a list of heatmaps:
```r
Heatmap(mat1, ...) + Heatmap(mat2, ...)
```
Make a list of heatmaps and row annotations:
```r
ha = HeatmapAnnotation(df = anno1, anno_fun = anno2, ..., which = "row")
Heatmap(mat1, ...) + Heatmap(mat2, ...) + ha
```
## Examples
### Visualize Methylation Profile with Complex Annotations

### Correlations between methylation, expression and other genomic features

### Visualize Cell Heterogeneity from Single Cell RNASeq

### Making Enhanced OncoPrint

### UpSet plot

## License
MIT @ Zuguang Gu