Clustergrammer is a web-based tool for visualizing and analyzing high-dimensional data as interactive and shareable hierarchically clustered heatmaps (see Introduction to Clustergrams). This section will provide information on how to interact with the visualization and how to quickly visualize your own data using the Clustergrammer-Web, Clustergrammer2, and Clustergrammer-Widget.
See Case Studies and Tutorials for examples of how Clustergrammer can be used to explore and analyze real world data. For developers interested in building their own web page using Clustergrammer, please refer to the Web-Development section.
We recently presented Clustergrammer2 at SciPy 2020 Virtual Conference and showed off new examples (Citi Bike, 10X Genomics Visium) and features (e.g. manual annotation of categories).
Visium Spatial Transcriptomics Data from 10X Genomics¶
We used Clustergrammer2, the plotting library bqplot, the Jupyter dashboard library voila, and the Jupyter notebook hosting service Binder to build an interactive data exploration dashboard for Visium data from the mouse brain from 10X Genomics (try dashboard: Visium-Clustergrammer2 Dashboard, code: https://github.com/ismms-himc/visium-clustergrammer2). This dashboard generates linked views of spatial tissue data and high-dimensional gene expression data - see GitHub repo https://github.com/ismms-himc/visium-clustergrammer2 for more information.
This tutorial shows how Clustergrammer2 can be run on the cloud using MyBinder. For additional examples with real world data (e.g. scRNA-seq data), please see Case Studies and Tutorials.
Interacting with Clustergrammer Heatmaps¶
Clustergrammer produces highly interactive visualizations that enable intuitive exploration of high-dimensional data including:
- Zooming and Panning
- Row and Column Reordering (e.g. reorder based on sum)
- Interactive Dendrogram
- Interactive Dimensionality Reduction (e.g. filter rows based on variance)
- Interactive Categories
- Row Searching
Clustergrammer also has Biology-Specific Features for working with gene-level data including:
Users can easily generate an interactive and shareable heatmap visualization using the Clustergrammer-Web (see upload section screenshot below). Simply upload a tab-separated matrix file (see Matrix Formats and Input/Output for more information) at the homepage to be redirected to a permanent and shareable visualization of your data.
Once you upload your data, the Clustergrammer-Web clusters your data and produces three views: a heatmap of your input matrix, a similarity matrix of your columns, and a similarity matrix of your rows. See the screenshots below and the example visualization for an example results page.
Similarity Matrix View
Users can share their interactive visualizations using their permanent link. See Interacting with the Visualization for more information.
Jupyter notebooks are ideal for generating reproducible workflows and analysis. They are also the best way to share Clustergrammer’s interactive visualizations while providing context, analysis, and the underlying data to enable reproducibility (see Sharing with nbviewer).
Clustergrammer-Widget and Clustergrammer2 enable users to easily produce interactive visualizations within a Jupyter notebook that can be shared with collaborators (using nbviewer). The Clustergrammer-Widget can be used to visualize a matrix of data from a matrix file or from a Pandas DataFrame (see Matrix Formats and Input/Output for more information).
Clustergrammer has been applied to visualize and analyze a wide variety of biological and non-biological data. See the Jupyter notebook examples below and Case Studies and Tutorials for more information.