Heat map

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Heat map generated from DNA microarray data reflecting gene expression values in several conditions
A heatmap showing the RF coverage of a drone detection system

A heat map (or heatmap) is a data visualization technique that shows magnitude of a phenomenon as color in two dimensions. The variation in color may be by hue or intensity, giving obvious visual cues to the reader about how the phenomenon is clustered or varies over space. There are two fundamentally different categories of heat maps: the cluster heat map and the spatial heat map. In a cluster heat map, magnitudes are laid out into a matrix of fixed cell size whose rows and columns are discrete phenomena and categories, and the sorting of rows and columns is intentional and somewhat arbitrary, with the goal of suggesting clusters or portraying them as discovered via statistical analysis. The size of the cell is arbitrary but large enough to be clearly visible. By contrast, the position of a magnitude in a spatial heat map is forced by the location of the magnitude in that space, and there is no notion of cells; the phenomenon is considered to vary continuously.

"Heat map" is a relatively new term, but the practice of shading matrices has existed for over a century.[1]


Heat maps originated in 2D displays of the values in a data matrix. Larger values were represented by small dark gray or black squares (pixels) and smaller values by lighter squares. Toussaint Loua [fr] (1873) used a shading matrix to visualize social statistics across the districts of Paris.[1] Sneath (1957) displayed the results of a cluster analysis by permuting the rows and the columns of a matrix to place similar values near each other according to the clustering. Jacques Bertin used a similar representation to display data that conformed to a Guttman scale. The idea for joining cluster trees to the rows and columns of the data matrix originated with Robert Ling in 1973. Ling used overstruck printer characters to represent different shades of gray, one character-width per pixel. Leland Wilkinson developed the first computer program in 1994 (SYSTAT) to produce cluster heat maps with high-resolution color graphics. The Eisen et al. display shown in the figure is a replication of the earlier SYSTAT design.[citation needed]

Software designer Cormac Kinney trademarked the term 'heat map' in 1991 to describe a 2D display depicting financial market information.[2] The company that acquired Kinney's invention in 2003 unintentionally allowed the trademark to lapse.[3]


A heat map, atop a color bathymetric map, indicating the probable location of missing Malaysia Airlines Flight 370 based on a Bayesian method analysis of possible flight paths of the aircraft.[4]

There are different kinds of heat maps:

  • Biology heat maps are typically used in molecular biology to represent the level of expression of many genes across a number of comparable samples (e.g. cells in different states, samples from different patients) as they are obtained from DNA microarrays.
  • The tree map is a 2D hierarchical partitioning of data that visually resembles a heat map.
  • A mosaic plot is a tiled heat map for representing a two-way or higher-way table of data. As with treemaps, the rectangular regions in a mosaic plot are hierarchically organized. That means that the regions are rectangles instead of squares. Friendly (1994) surveys the history and usage of this graph.
  • A density function visualization is a heat map for representing the density of dots in a map. It enables one to perceive density of points independently of the zoom factor. Perrot et al. (2015) proposed a way to use density function to visualize billions and billions of dots using big data infrastructure with Spark and Hadoop.[5]

Color schemes[edit]

Many different color schemes can be used to illustrate the heat map, with perceptual advantages and disadvantages for each. Rainbow color maps are often used, as humans can perceive more shades of color than they can of gray, and this would purportedly increase the amount of detail perceivable in the image. However, this is discouraged by many in the scientific community, for the following reasons:[6][7][8][9][10][11]

  • The colors lack the natural perceptual ordering found in grayscale or blackbody spectrum colormaps.[6][11]
  • Common colormaps (like the "jet" colormap used as the default in many visualization software packages) have uncontrolled changes in luminance that prevent meaningful conversion to grayscale for display or printing. This also distracts from the actual data, arbitrarily making yellow and cyan regions appear more prominent than the regions of the data that are actually most important.[6][11]
  • The changes between colors also lead to perception of gradients that aren't actually present, making actual gradients less prominent, meaning that rainbow colormaps can actually obscure detail in many cases rather than enhancing it.[6][10][11]
  • Not all colours in a rainbow color map can be differentiated by color-vision deficient readers, which makes figures using these color schemes inaccessible to a significant proportion of the population.[11]

Choropleth maps vis-à-vis heat maps[edit]

Choropleth maps are sometimes incorrectly referred to as heat maps. A choropleth map features different shading or patterns within geographic boundaries to show the proportion of a variable of interest, whereas the coloration a heat map (in a map context) does not correspond to geographic boundaries.[12]

Software implementations[edit]

Several heat map software implementations are freely available:

  • R, a free software environment for statistical computing and graphics, contains several functions to trace heat maps,[13][14] including interactive cluster heat maps [15] (via the heatmaply R package).
  • Gnuplot, a universal and free command-line plotting program, can trace 2D and 3D heat maps.[16]
  • Google Fusion Tables can generate a heat map from a Google Sheets spreadsheet limited to 1000 points of geographic data.[17]
  • Dave Green's 'cubehelix' colour scheme provides resources for a colour scheme that prints as a monotonically increasing greyscale on black and white postscript devices.[18]
  • Openlayers3 can render a heat map layer of a selected property of all geographic features in a vector layer.[19]
  • D3.js,[20][21] AnyChart[22][23] and Highcharts[24][25] are JavaScript libraries for data visualization that provide the ability to create interactive heat map charts, from basic to highly customized, as part of their solutions.


See also[edit]


  1. ^ a b Wilkinson L, Friendly M (May 2009). "The History of the Cluster Heat Map". The American Statistician. 63 (2): 179–184. CiteSeerX doi:10.1198/tas.2009.0033. S2CID 122792460.
  2. ^ "United States Patent and Trademark Office, registration #75263259". 1993-09-01.
  3. ^ Silhavy R, Senkerik R, Oplatkova ZK, Silhavy P, Prokopova Z (2016-04-26). Software Engineering Perspectives and Application in Intelligent Systems. ISBN 978-3-319-33622-0.
  4. ^ MH370 – Definition of Underwater Search Areas (PDF) (Report). Australian Transport Safety Bureau. 3 December 2015.
  5. ^ Perrot A, Bourqui R, Hanusse N, Lalanne F, Auber D (2015). "Large interactive visualization of density functions on big data infrastructure" (PDF). 2015 IEEE 5th Symposium on Large Data Analysis and Visualization (LDAV). IEEE 5th Symposium on Large Data Analysis and Visualization (LDAV), 2015. pp. 99–106. doi:10.1109/LDAV.2015.7348077. ISBN 978-1-4673-8517-6. S2CID 4768931.
  6. ^ a b c d Borland D, Taylor MR (2007). "Rainbow color map (still) considered harmful". IEEE Computer Graphics and Applications. 27 (2): 14–7. doi:10.1109/MCG.2007.323435. PMID 17388198.
  7. ^ How NOT to Lie with Visualization – Bernice E. Rogowitz and Lloyd A. Treinish – IBM Thomas J. Watson Research Center, Yorktown Heights, NY
  8. ^ Harrower M, Brewer CA (2003). "ColorBrewer.org: An Online Tool for Selecting Colour Schemes for Maps". In Dodge M, Kitchin R, Perkins C (eds.). The Cartographic Journal. pp. 27–37. doi:10.1179/000870403235002042. ISBN 978-0-470-98007-1. S2CID 140173239.
  9. ^ Green DA (2011). "A colour scheme for the display of astronomical intensity images". Bulletin of the Astronomical Society of India. 39: 289–95. arXiv:1108.5083. Bibcode:2011BASI...39..289G.
  10. ^ a b Borkin MA, Gajos KZ, Peters A, Mitsouras D, Melchionna S, Rybicki FJ, et al. (December 2011). "Evaluation of artery visualizations for heart disease diagnosis". IEEE Transactions on Visualization and Computer Graphics. 17 (12): 2479–88. CiteSeerX doi:10.1109/TVCG.2011.192. PMID 22034369. S2CID 2548700.
  11. ^ a b c d e Crameri F, Shephard GE, Heron PJ (October 2020). "The misuse of colour in science communication". Nature Communications. 11 (1): 5444. Bibcode:2020NatCo..11.5444C. doi:10.1038/s41467-020-19160-7. PMC 7595127. PMID 33116149.
  12. ^ "Choropleth vs. Heat Map –". gretchenpeterson.com.
  13. ^ "Using R to draw a heat map from Microarray Data". Molecular Organisation and Assembly in Cells. 26 Nov 2009.
  14. ^ "Draw a Heat Map". R Manual.
  15. ^ Galili T, O'Callaghan A, Sidi J, Sievert C (May 2018). "heatmaply: an R package for creating interactive cluster heatmaps for online publishing". Bioinformatics. 34 (9): 1600–1602. arXiv:1911.02551. doi:10.1093/bioinformatics/btx657. PMC 5925766. PMID 29069305.
  16. ^ "Gnuplot demo script: Heatmaps.dem".
  17. ^ "Fusion Tables Help - Create a heat map". Jan 2018. support.google.com
  18. ^ "Dave Green's 'cubehelix' colour scheme".
  19. ^ "ol/layer/Heatmap~Heatmap". OpenLayers. Retrieved 2019-01-01.
  20. ^ "Heatmap". D3.js Graph Gallery. Retrieved 25 July 2020.
  21. ^ "Most basic heatmap in d3.js". D3.js Graph Gallery. Retrieved 25 July 2020.
  22. ^ "Heat Map Chart". AnyChart Documentation. Retrieved 25 July 2020.
  23. ^ "Heat Map Charts - Gallery". AnyChart Gallery. Retrieved 25 July 2020.
  24. ^ "Heatmap - Highcharts docs". Highcharts. Retrieved 9 December 2019.
  25. ^ "Heat and tree maps - Highcharts demos". Highcharts. Retrieved 9 December 2019.

Further reading[edit]

External links[edit]