Contribute Media
A thank you to everyone who makes this possible: Read More

Matplotlib recipes for your graphical "soups"

Description

The term Data Visualization (a.k.a. data viz) refers to any visual representation of data that is algorithmically drawn[Illinsky & Steele, 2011]. In particular, data viz is easy to regenerate (with different data); it is often aesthetically barren; and it is relatively data-rich, usually representing large volume of data [Illinsky & Steele, 2011].

Data viz approaches are further distinguished in two distinct categories, namely static and interactive visualizations.

Static visualizations can offer only precomposed views of data, so multiple static views are often needed to present a variety of perspectives on the same information [Murray, 2013]. On the other hand, (dynamic) interactive visualization tools allow the users to customize the way they want to view the plotted data.

Matplotlib is a very powerful data visualization library, being so far the de-facto standard data viz library for Python code.

Matplotlib offers a wide variety of 2D and 3D plots, graphics and maps (matplotlib.basemap) typically useful in case of (but not limited to) data analysis in scientific contexts. All the generated plots may be further customized (e.g., annotating charts with LateX formulas, changing fonts and colors ) in order to make them perfectly suited for the different requirements we may have.

Last but not least, recent versions of the library started supporting creation of animated graphics and charts (i.e., matplotlib.animations)

Most of the charts provided out-of-the-box by the library belongs to the static data viz category. However, the new MLPD3project aims at integrating Matplotlib with the D3js, the popular Javascript library to generate data-driven web pages.

This talk is going to present the main features and capabilities provided by the matplotlib library in a very recipe-oriented and practical fashion. The main goal of the talk is to emphasize when and how the different Matplotlib charts could be effectively used, depending on the considered problem to tackle.

To this end, several code recipes will be discussed during the presentation. Recipes using mpld3 and matplotlib.animations for the interactive data viz will be presented as well, and will conclude the talk

This talk assumes a good knowledge of the Python language. Basic knowledge of numpy and scipy is also a plus.

Details

Improve this page