Heatmaps vs Choropleths

November 27, 2018

When it comes to using maps for data visualization, the term heatmap is used rather loosely. It tends to be used to describe any map that uses colors to categorize location based data. However there is a distinction between geographic heatmaps and choropleth maps. Let's compare...

Choropleths are thematic maps where a geographic region has a uniform color based on a metric. Colors correspond to categories defined by numeric ranges. These are often called heatmaps, but that isn't entirely accurate. The key difference between choropleth maps and heat maps is the shape of colored areas. In choropleths, shapes are defined by standard geographical boundaries, not by the data itself. A true geographic heatmap is an isopleth map (has data drawn shapes) that depict hotspots on a map to present concentrations of values.


Presenting GDP by country would be a good use case for a choropleth because the values would be directly tied to political boundaries. Using a heatmap for average rainfall would be a good fit because rain is not influenced by borders.

Did you know the image below is another type of heatmap? It's a correlation matrix generated by the R library heatmaply.


From the heatmaply package documentation introduction:

A heatmap is a popular graphical method for visualizing high-dimensional data, in which a table of numbers are encoded as a grid of colored cells.

This matrix is useful for presenting a high level overview of row and column intersections. At a glance you can tell which pairings have a high or low rate of occurrence. It's much easier to scan for dark or light patches than to assess numeric values.






When describing or labeling data visualized on a map, consider whether the colored areas are defined by the data or if the shapes are predetermined to know if you should call it a heatmap or choropleth. If the data being presented has no connection to location at all, then you're probably dealing with a heatmap matrix. Calling it simply a heatmap is appropriate in that context.