Matplotlib

Fundamentals

Matplotlib is a data visualization library for Python. It is suited to create complex plots, animations, and even interactive visualizations that can be exported to files or rendered in Python notebooks, websites or desktop applications.

I have used Matplotlib extensively for scientific writing and reports, data analysis, interactive visualizations based on Jupyter notebooks and in desktop applications. It is a pretty powerful library, but also somewhat low-level for some applications (for example statistics).

In fact, there exist libraries built on top of Matplotlib, such as Seaborn, and libraries that integrate with Matplotlib, like pandas. They provide a much larger collection of pre-built methods that enable faster plotting in most common use-cases. Working with Matplotlib primitives is only a better choice when precise control of the plot's characteristics and design is needed.