2D Density Chart


This section explains how to build a 2d density chart or a 2d histogram with python. Those chart types allow to visualize the combined distribution of two quantitative variables. They can be build with Matplotlib or Seaborn.

💡 What is a 2D density chart?

There are several chart types allowing to visualize the distribution of a combination of 2 numeric variables. They always have a variable represented on the X axis, the other on the Y axis, like for a scatterplot (left).

Then the number of observations within a particular area of the 2D space is counted and represented with a color gradient. The shape can vary: hexagones result in a hexbin chart, squares in a 2d histogram. A kernel density estimate can be used to get a 2d density plots or a contour plots

Confusing? Visit data-to-viz to clarify..

Seaborn logoContour plot with Seaborn

The contour plot can be easily built thanks to the kdeplot() function of the Seaborn library.

Seaborn logo2D histogram with Seaborn

Build a 2d histogram thanks to the hist2d() function of the Seaborn library. Do not forget to play with the bins argument to find the value representing the best your data.

Matplotlib logoHexbin chart with Matplotlib

Split the graph area in hexagones and you get a hexbin density chart. This time, it is matplotlib that gets you covered thanks to its hexbin() function.

Matplotlib logo2d density chart with Matplotlib

2D densities are computed thanks to the gaussian_kde() function and plotted thanks with the pcolormesh() function of matplotlib().

Matplotlib logo2d density and marginal plots

2D densities often combined with marginal distributions. It helps to highlight the distribution of both variables individually. It is pretty straightforward to add thanks to the jointplot() function of the Seaborn library.

Contact

👋 This document is a work by Yan Holtz. Any feedback is highly encouraged. You can fill an issue on Github, drop me a message onTwitter, or send an email pasting yan.holtz.data with gmail.com.

Violin

Density

Histogram

Boxplot

Ridgeline

Scatterplot

Heatmap

Correlogram

Bubble

Connected Scatter

2D Density

Barplot

Spider / Radar

Wordcloud

Parallel

Lollipop

Circular Barplot

Treemap

Venn Diagram

Donut

Pie Chart

Dendrogram

Circular Packing

Line chart

Area chart

Stacked Area

Streamgraph

Timeseries with python

Timeseries

Map

Choropleth

Hexbin

Cartogram

Connection

Bubble

Chord Diagram

Network

Sankey

Arc Diagram

Edge Bundling

Colors

Interactivity

Animation with python

Animation

Cheat sheets

Caveats

3D