I’ve tried heatmap.2, d3heatmap, heatmaply, and pheatmap. Anyone out there use a different package to visualize matrices that are about 6000X400 in size?

# What's your favorite heatmap visualization tool for large datasets?

**thoughtfulnz**#2

Going from first principles, heat mapping a matrix you have:

- an implicit vertical coordinate (row) that is equally spaced
- an implicit horizontal coordinate (column) that is equally spaced
- a value that is a range which is to be represented by colours

If you then think of a heatmap as a scatterplot with rectangular points equal to the size of the spacing, you could take that data and do whatever you like to it in the way of plots- things like thresholding the colour values, and merging coordinate points- through general data munging principles.

If you wanted to explore this, rolling your own visualisation, I would suggest:

- First transform the data into a long format row, column, value arrangement
- Explicitly save the visualisation as a png or something when creating it to avoid the onscreen slowdown of making a visualisation with a lot of points. This also has the advantage you can size the visualisation to fit the level of detail you want.

**thoughtfulnz**#3

As an afterthought, this approach means that if you want something like an “Emojimap” rather than colours, it would be entirely doable.

**dc83**#4

Hi Kieran,

Have you decided which package is best for heatmapping very large matrices? (I'm talking about a square matrix with thousands of rows and thousands of columns)

I've been using heatmaply but it can't handle that size as far as I've found.

Thanks.

The Next-Generation Clustered Heat Maps (NG-CHM) system was developed for creating and exploring large heat maps (thousands of rows and/or columns). It was originally developed for bioinformatics data, but can be applied to any large matrix data. You can explore a compendium of large heat maps for TCGA data at http://tcga.ngchm.net. You can build your own NG-CHMs using Galaxy or R/RStudio. Here is a YouTube tutorial showing how to create an NG-CHM in RStudio. More information about NG-CHMs is available at their website.