Streamgraph
A streamgraph is a variation of the stacked area graph. It displays the evolution of a numeric value for several groups. Each group is displayed around a central axis and edges are rounded resulting in a flowing and organic shape.
Streamgraph with Matplotlib
Matplotlib
can build streamgraphs but there isn't any prebuilt function for it so be ready for quite a lot of code. 🍿
The process starts pretty much like for a stacked area graph. The baseline
parameter of the stackplot()
function is used to place groups around the X axis. The tricky part is to interpolate points between each value of the X axis to get the smooth visual. This is done thanks to the scipy.interpolate
library.
Streamgraph with Altair
Altair is a lesser know python library for datavizualization.
Fortunately, the pandas
library has a divide()
function that allows to apply this normalization easily.
Best python streamchart examples
The web is full of astonishing charts made by awesome bloggers, (often using R). The Python graph gallery tries to display (or translate from R) some of the best creations and explain how their source code works. If you want to display your work here, please drop me a word or even better, submit a Pull Request!
Contact
👋 This document is a work by Yan Holtz. You can contribute on github, send me a feedback on twitter or subscribe to the newsletter to know when new examples are published! 🔥