Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
Check out our home page for more information.
Matplotlib produces publication-quality figures in a variety of hardcopy formats and interactive environments across platforms. Matplotlib can be used in Python scripts, Python/IPython shells, web application servers, and various graphical user interface toolkits.
See the install
documentation,
which is generated from /doc/users/installing/index.rst
You've discovered a bug or something else you want to change - excellent!
You've worked out a way to fix it -- even better!
You want to tell us about it -- best of all!
Start at the contributing guide!
Discourse is the discussion forum for general questions and discussions and our recommended starting point.
Our active mailing lists (which are mirrored on Discourse) are:
- Users mailing list: matplotlib-users@python.org
- Announcement mailing list: matplotlib-announce@python.org
- Development mailing list: matplotlib-devel@python.org
Gitter is for coordinating development and asking questions directly related to contributing to matplotlib.
If Matplotlib contributes to a project that leads to publication, please acknowledge this by citing Matplotlib.
A ready-made citation entry is available.
build
: Changes that affect the build system or external dependencies (example scopes: broccoli, npm).docs
: Documentation only changes.feat
: A new feature. Can of course also contain tests for the feature.fix
: Bug fixes. Can of course also contain tests for the feature.refactor
: A code change that neither fixes a bug nor adds a feature.revert
: Reverts a previous commit.style
: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc).test
: Adding missing tests or correcting existing tests.
Guide originally provided by matplotlib here for cloning the repo and setup of the virtual environment and the dependencies.
cd matplotlib
Step 3: Create the virtual environment (choose your folder location name and add it to the .gitignore):
python -m venv <file folder location>
source <file folder location>/bin/activate # Linux/macOS
<file folder location>\Scripts\activate.bat # Windows cmd.exe
<file folder location>\Scripts\Activate.ps1 # Windows PowerShell
pip install pytest
pip install coverage
From the Coverage.py tutorial avaliable here.
In the root directory run (this will take a while ~15min):
coverage run -m pytest
Either in the terminal window:
coverage report -m
or as HTML (the generated files are already ignored in the .gitignore):
coverage html