A heat map 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.
History
Heat maps originated in 2D displays of the values in a data matrix. Larger values were represented by small dark gray or black squares and smaller values by lighter squares. Loua used a shading matrix to visualize social statistics across the districts of Paris. Sneath 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 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. Software designer Cormac Kinney trademarked the term 'heat map' in 1991 to describe a 2D display depicting financial market information. The company that acquired Kinney's invention in 2003 unintentionally allowed the trademark to lapse.
Types
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 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. The means that the regions are rectangles instead of squares. Friendly 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. proposed a way to use density function to visualize billions and billions of dots using big data infrastructure with Spark and Hadoop.
Color schemes
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:
Common colormaps 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.
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.
Choropleth maps vis-à-vis heat maps
s 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 does not correspond to geographic boundaries.
Software implementations
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, including interactive cluster heat maps .
Gnuplot, a universal and free command-line plotting program, can trace 2D and 3D heat maps.
Openlayers3 can render a heat map layer of a selected property of all geographic features in a vector layer.
D3.js, AnyChart and Highcharts 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.
Qlik Sense allows displaying comparative data as color patterns in a heat map which is included in its visualization bundle.
MATLAB provides the capability of the heat map visualization with a wide variety of configuration options.