Matplotlib

Matplotlib is a 2D plotting library that can be used in Python scripts, iPython shells and Jupyter notebooks. It can be used to visualise data as diagrams, histograms, power spectra, bar charts, scatter plots, etc. (et cetera) You can get an overview in Gallery. It is a low-level library with a Matlab-like interface that offers a lot of freedom but requires a lot of code.

Pros

Cons

Similar design to Matlab; switching is easy

Imperative API and often very detailed specifications are required

Many rendering backends, see Matplotlib-Backends

Often inadequate standard display