free and open-source Python module within the NumPy / SciPy stack for plotting data


Effective plotting — and data visualization in general — makes the communication of quantitative ideas a lot easier. Even for the researcher himself/herself, trends and patterns in a dataset may only become clear after the data is plotted properly. This may involve transforming the data in some way, or performing regression to fit a model.

While there is a lot of choice when it comes to plotting software, matplotlib offers a number of advantages. It is part of the free and open-source NumPy/SciPy stack, so there is plenty of transparency and flexibility, and all parts play nicely together. All are Python-based, so looping through plot symbols and colors, for example, is accomplished easily with familiar syntax. The resulting plots are publication quality, and can be produced in a vector format like svg to preserve quality. Matplotlib even has functionality to typeset plot labels in LaTeX.