# 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..

## Contour plot with `Seaborn`

The contour plot can be easily built thanks to the `kdeplot()`

function of the Seaborn library.

## 2D 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.

## Hexbin 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.

## 2d density chart with `Matplotlib`

2D densities are computed thanks to the `gaussian_kde()`

function and plotted thanks with the `pcolormesh()`

function of `matplotlib()`

.

## 2d 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`

.