matplotlib: Python 2D plotting library - Packages and Features

Skip to content
Back to top
View this page
Edit this page

# matplotlib: Python 2D plotting library

## Description

From the Matplotlib website: matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell (ala matlab or mathematica), web application servers, and six graphical user interface toolkits.

## License

The Matplotlib license - see http://matplotlib.sourceforge.net/users/license.html: Matplotlib only uses BSD compatible code, and its license is based on the PSF license. See the Open Source Initiative licenses page for details on individual licenses. Non-BSD compatible licenses (eg LGPL) are acceptable in matplotlib Toolkits. For a discussion of the motivations behind the licencing choice, see Licenses.

## Upstream Contact

https://matplotlib.org

The matplotlib mailing lists: see http://sourceforge.net/projects/matplotlib

## Dependencies

- python

- numpy

- setuptools (>= 0.7)

- freetype

- patch (used in spkg-install)

- dateutil

- pyparsing

- tornado

- kiwisolver

## Build Instructions/Changes

- NOTE: To drastically cut down on spkg size, we delete the internal testing images. To do this, we repackage the tarball by removing the contents of `lib/matplotlib/tests/baseline_images/*`, this is done by the `spkg-src` script.

- `setup.py.patch`: disable loading of Tests. Otherwise, `setup.py` raises an error because it can’t find the deleted files from `src/lib/matplotlib/tests/baseline_images/*`

- NOTE: as of matplotlib-1.0.0 and Sage 4.6, Sage does not use $HOME/.matplotlib by default. Instead, it sets MPLCONFIGDIR to a subdirectory in $DOT_SAGE, see src/bin/sage-env

## Type

standard

## Dependencies

- $(PYTHON)

- $(PYTHON_TOOLCHAIN)

- certifi: Python package for providing Mozilla’s CA Bundle

- contourpy: Python library for calculating contours of 2D quadrilateral grids

- cycler: Composable cycles

- dateutil: Extensions to the standard Python module datetime

- fonttools: Tools to manipulate font files

- freetype: A free, high-quality, and portable font engine

- kiwisolver: Fast implementation of the Cassowary constraint solver

- numpy: Package for scientific computing with Python

- packaging: Core utilities for Python packages

- pillow: Python Imaging Library

- pyparsing: A Python parsing module

- qhull: Compute convex hulls, Delaunay triangulations, Voronoi diagrams

- setuptools_scm: Python build system extension to obtain package version from version control

- tornado: Python web framework and asynchronous networking library

## Version Information

package-version.txt:

    3.10.8

version_requirements.txt:

    matplotlib >=3.10.1

## Equivalent System Packages

Arch Linux

    $ sudo pacman -S python-matplotlib

conda-forge

    $ conda install 'matplotlib>=3.5.1'

Debian/Ubuntu

    $ sudo apt-get install python3-matplotlib

Fedora/Redhat/CentOS

    $ sudo dnf install python3-matplotlib

Gentoo Linux

    $ sudo emerge dev-python/matplotlib

MacPorts

    $ sudo port install py-matplotlib

openSUSE

    $ sudo zypper install 'python3${PYTHON_MINOR}-matplotlib'

Void Linux

    $ sudo xbps-install python3-matplotlib

See https://repology.org/project/python:matplotlib/versions

If the system package is installed and if the (experimental) option `--enable-system-site-packages` is passed to `./configure`, then `./configure` will check if the system package can be used.