Dendrogram
A dendrogram is a network structure. It is constituted of a root node that gives birth to several nodes connected by edges or branches. It is used to represent a hierarchical structure or to display the result of a clustering algorithm.
ℹ ️ Two types of dendrogram
It is important to understand that dendrograms are used in 2 very different conditions that are based on 2 different data inputs:
- Hierarchical dataset: think about a CEO managing team leads managing employees and so on.
- Clustering result: clustering divides a set of individuals in group according to their similarity. Its result can be visualized as a tree, often going together with a heatmap.
Dendrogram for clustering with Matplotlib
The first chart of this section explains how to build a basic dendrogram with Python and matplotlib. It starts from a numeric matrix, compute the similarity between each pair of item thanks to the linkage() function and plot the result with the dendrogram() function.
The next post explains how to customize the output: change node and edge features like color and shapes, select a specific part of the tree and more.
Dendrogram, clustering and heatmaps with Seaborn
It is very common to display the results of a clustering using a heatmap with dendrograms around it. Fortunately the Seaborn library makes it a breeze.
The examples below will guide you through the most usual needs. Note however that data normalization should be your main focus here, as it can massively impact the final visual result. (See this post for that).
Related: heatmap sectionDendrogram for hierarchical datasets
Dendrogram can also be used to display a hierarchy. A hierarchy as a root node that gets divided in several children and so on.
TODO
Related chart types
💡 Out of dataviz inspiration?
I have spent years collecting the most beautiful data visualizations out there. Get the list of my top 300 dataviz projects, hand-picked, for free.
I respect your privacy. Unsubscribe anytime.