GitPedia

PyComplexHeatmap

PyComplexHeatmap: A Python package to plot complex heatmap (clustermap)

From DingWB·Updated June 11, 2026·View on GitHub·

PyComplexHeatmap is a Python package to plot complex heatmap (clustermap). Please click [here](https://dingwb.github.io/PyComplexHeatmap) for documentation. The project is written primarily in Python, distributed under the MIT License license, first published in 2022. Key topics include: bioinformatics, clustermap, complex-heatmaps, complexheatmap, data-visualization-python.

Latest release: 1.8.5
April 7, 2026View Changelog →

PyComplexHeatmap Downloads Downloads Downloads

PyComplexHeatmap is a Python package to plot complex heatmap (clustermap). Please click here for documentation.

Documentation:


https://dingwb.github.io/PyComplexHeatmap
<br><br>
PYPI
<br>

Wiki

wiki/layout
<br>
wiki/Parameters
<br>
wiki/Features

Dependencies:


  • matplotlib
  • numpy
  • pandas
  • scipy
  • fastcluster (optional)
pip install --ignore-install matplotlib numpy pandas fastcluster

Citation

Ding, W., Goldberg, D. and Zhou, W. (2023), PyComplexHeatmap: A Python package to visualize multimodal genomics data. iMeta e115. https://doi.org/10.1002/imt2.115
<br>
DOI: 10.1002/imt2.115
<br>
PMID: 38454967

Installation


  1. Install using pip:
shell
pip install PyComplexHeatmap #upgrade from older version pip install --upgrade PyComplexHeatmap
  1. Install the developmental version directly from github:
shell
pip install git+https://github.com/DingWB/PyComplexHeatmap # reinstall pip uninstall -y PyComplexHeatmap && pip install git+https://github.com/DingWB/PyComplexHeatmap

OR

shell
git clone https://github.com/DingWB/PyComplexHeatmap cd PyComplexHeatmap python setup.py install

Usage


Simple Guide To Get started

Example output

Click picture to view the source code

<table> <tr style="height: 500px"> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/kwargs.html#Control-gap-&-pad-in-heatmap"> <img src="docs/images/gallery1.png" title="kwargs, gap and pad" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/anno_img_example.html#Visualizing-motif-enrichment-results-using-anno_img"> <img src="docs/images/gallery11.png" title="Modify labels" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/composite_heatmaps.html#Composite-two-heatmaps-horizontally-for-mouse-DNA-methylation-array-dataset"> <img src="docs/images/gallery3.png" title="Combine two heatmap horizontally" align="center" width="250px"> </a> </td> </tr> <tr style="height: 500px"> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/advanced_usage.html#Only-plot-the-annotations"> <img src="docs/images/gallery5.png" title="Only plot annotations" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/advanced_usage.html#Cluster-between-groups-and-cluster-within-groups"> <img src="docs/images/gallery6.png" title="Cluster between groups" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/single_cell_methylation.html"> <img src="docs/images/gallery9.png" title="DNA methylation cell type specific signatures" align="center" width="250px"> </a> </td> </tr> <tr style="height: 500px"> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/oncoPrint.html"> <img src="docs/images/gallery8.png" title="OncoPrint with columns split" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/dotHeatmap.html#Visualize-up-to-five-dimension-data-using-DotClustermapPlotter"> <img src="docs/images/gallery7.png" title="Dot clustermap to show enrichment result" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/oncoPrint2.html"> <img src="docs/images/gallery4.png" title="Visualizing categorical variables using oncoPrint" align="center" width="250px"> </a> </td> </tr> <tr style="height: 500px"> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/cpg_modules.html#Plotting-the-Dot-clustermap"> <img src="docs/images/gallery2.png" title="Dot clustermap with annotations" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/advanced_usage.html#Custom-annotation"> <img src="docs/images/gallery10.png" title="Custom annotation" align="center" width="250px"> </a> </td> <td style="width:33%; background-color:white;text-align:center; vertical-align:middle"> <a href="https://dingwb.github.io/PyComplexHeatmap/build/html/notebooks/gene_enrichment_analysis.html#Plot"> <img src="docs/images/gallery12.png" title="Plot only the annotation with different orientations" align="center" width="250px"> </a> </td> </tr> </table>

Advanced Usage

Kwargs

More Examples

https://dingwb.github.io/PyComplexHeatmap/build/html/more_examples.html

Call for Contributions


The PyComplexHeatmap project welcomes your expertise and enthusiasm!

Small improvements or fixes are always appreciated. If you are considering larger contributions
to the source code, please contact us (ding.wu.bin.gm@gmail.com).

Writing code isn’t the only way to contribute to PyComplexHeatmap. You can also:

  • review pull requests
  • help us stay on top of new and old issues
  • develop tutorials, presentations, and other educational materials
  • maintain and improve our website
  • develop graphic design for our brand assets and promotional materials
  • translate website content
  • help with outreach and onboard new contributors
  • put forward some new ideas about update.

Contributors

Showing top 8 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from DingWB/PyComplexHeatmap via the GitHub API.Last fetched: 6/18/2026