Skip to content
Closed
Changes from 2 commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
5821a24
API: rename draw_no_output to draw_without_rendering
tacaswell Aug 28, 2021
1a9f0a2
DOC: re-word the whats new entry
tacaswell Aug 28, 2021
5a58788
Support sketch_params in pgf backend
takimata Jun 25, 2021
f67e604
Fix docstring
takimata Jun 25, 2021
92e9fb6
Add test
takimata Jun 30, 2021
c2ef020
Clarify stuff
takimata Jul 1, 2021
9d73118
Fix rendering of code block
takimata Jul 23, 2021
b94b282
Automatically load PGF components
takimata Jul 23, 2021
18c06c3
Scale params to match existing appearance
takimata Aug 22, 2021
a9377cd
Use descriptive names
takimata Aug 24, 2021
c3503a2
Fix comment length
takimata Aug 25, 2021
3263061
Merge pull request #20944 from anntzer/mtd
QuLogic Aug 30, 2021
124ba6e
DOC: re-word whats new
tacaswell Aug 31, 2021
6d56592
Merge pull request #20931 from tacaswell/api_rename_draw_no_output
timhoffm Aug 31, 2021
ceb794c
Merge pull request #20956 from anntzer/lhu
timhoffm Sep 1, 2021
b5058a5
Merge pull request #20955 from anntzer/glh
timhoffm Sep 1, 2021
bb12efe
Merge pull request #20952 from dstansby/3rd-party-redirect
QuLogic Sep 1, 2021
6683517
Merge pull request #20957 from anntzer/lhm
dstansby Sep 1, 2021
a142369
Merge pull request #20745 from QuLogic/event-docs
dstansby Sep 1, 2021
f023115
Small cleanups to math_to_image.
anntzer Sep 1, 2021
486ad06
BUG: Fix f_back is None handling
larsoner Sep 1, 2021
0b724bf
Add a GTK4 backend.
QuLogic Jul 31, 2021
139a4db
Move common GTK Backend code into a separate file.
QuLogic Aug 4, 2021
e135227
Combine common GTK timer code.
QuLogic Aug 4, 2021
1d6fd65
Combine common GTK toolbar code.
QuLogic Aug 5, 2021
68b4ee3
Clean up calls to Gtk.Window.set_icon_from_file.
QuLogic Aug 5, 2021
7b63dee
Add GTK4 to docs.
QuLogic Aug 6, 2021
d3804c2
Fix Ctrl+C out of IPython on GTK4.
QuLogic Aug 19, 2021
72f7595
Merge pull request #19553 from greglucas/norm-updater
tacaswell Sep 1, 2021
2e31b07
Merge pull request #20965 from larsoner/fback
QuLogic Sep 1, 2021
0a9007c
Merge pull request #20961 from anntzer/mti
dstansby Sep 1, 2021
d3da54a
Merge pull request #20321 from QuLogic/gtk4
QuLogic Sep 1, 2021
3eeae5b
Build wheels for Apple Silicon.
QuLogic Sep 2, 2021
fafe155
Merge pull request #20970 from QuLogic/m1-wheel
story645 Sep 2, 2021
640f96d
Cleanup some dviread docstrings.
anntzer Sep 2, 2021
3d7c92c
Docstring cleanups.
anntzer Sep 2, 2021
a1c69dd
Rename symbol_name to glyph_name where appropriate.
anntzer Sep 2, 2021
039c94a
Merge pull request #20973 from anntzer/d401
story645 Sep 2, 2021
75710ed
Clarify support for 2D coordinate inputs to streamplot.
anntzer Sep 2, 2021
8e400d8
Merge pull request #20975 from anntzer/s2d
timhoffm Sep 2, 2021
2a1075b
Merge pull request #20972 from anntzer/dd
timhoffm Sep 2, 2021
4e21dcf
Merge pull request #20942 from timhoffm/doc-axes-capitalization
timhoffm Sep 2, 2021
5656d11
Merge pull request #20974 from anntzer/gn
QuLogic Sep 2, 2021
f23fd1f
Make HandlerLine2D{,Compound} inherit constructors from HandlerNpoints.
anntzer Sep 3, 2021
a6221ed
Merge pull request #20986 from anntzer/lhhl
story645 Sep 3, 2021
f41edb6
FIX: colorbar with boundary norm, proportional, extend
jklymak Sep 4, 2021
6134061
Remove unused icon_filename, window_icon globals.
anntzer Sep 4, 2021
4dd72b9
Deprecate some backend_gtk3 helper globals.
anntzer Sep 4, 2021
72c728c
Fix ToolManager + TextBox support.
anntzer Sep 4, 2021
3361895
Merge pull request #20997 from anntzer/tmtb
timhoffm Sep 4, 2021
8ce14fb
Merge pull request #20987 from jklymak/fix-colorbar-boundary-extend
timhoffm Sep 5, 2021
1586fb5
Remove now-unused rcParams _deprecated entries.
anntzer Sep 6, 2021
f7622b6
Test the rcParams deprecation machinery.
anntzer Sep 6, 2021
162f688
Deemphasize mpl_toolkits in API docs.
anntzer Sep 5, 2021
481da9b
Separate tick and spine examples
dstansby Sep 7, 2021
cb17118
Merge pull request #21003 from anntzer/dtk
timhoffm Sep 7, 2021
79a29b6
Use numpydoc for GridSpecFromSubplotSpec.__init__
dstansby Sep 7, 2021
c4412e7
Merge pull request #21004 from anntzer/da
QuLogic Sep 7, 2021
7f89450
Merge pull request #20995 from anntzer/g3i
QuLogic Sep 7, 2021
d37075f
Merge pull request #21012 from dstansby/GridSpecFromSubplotSpec-doc
QuLogic Sep 7, 2021
8f62645
Merge pull request #20994 from anntzer/g4i
QuLogic Sep 7, 2021
308d2ac
Avoid TransformedBbox where unneeded.
anntzer Sep 7, 2018
3d7a46e
Merge pull request #20976 from dstansby/tick-spine-exs
timhoffm Sep 8, 2021
961a92c
Reword custom_ticker1 example.
anntzer Sep 8, 2021
39c5302
Merge pull request #21019 from anntzer/ct1
jklymak Sep 8, 2021
87bae58
Merge pull request #21010 from anntzer/ntb
dstansby Sep 8, 2021
971d110
Merge pull request #21005 from anntzer/rdmt
jklymak Sep 8, 2021
ce9a7b1
Merge pull request #20518 from takimata/pgf_sketch_path
tacaswell Sep 8, 2021
2d2cbe0
DOC: re-arrange user's guide and index
tacaswell Aug 15, 2021
8d8674c
DOC: add direct Matplotlib sponsorship to sponsor button
tacaswell Aug 20, 2021
ccf6270
DOC: split the user-guide into parts
tacaswell Aug 20, 2021
6339e69
DOC: add search bar back to inner index
tacaswell Aug 22, 2021
6598304
ENH: require sphinx-panels to build the docs
tacaswell Aug 22, 2021
0e00c50
DOC: add release notes to top bar
tacaswell Aug 22, 2021
6a91938
DOC: move installation out of top bar and onto inner index
tacaswell Aug 22, 2021
a1c2d0d
DOC: try to make the left sidebar on inner index better
tacaswell Aug 22, 2021
81002d0
DOC: put documentation types in a 2x2 grid
tacaswell Aug 22, 2021
8eb0192
DOC: rename user's guide -> user guide
tacaswell Aug 22, 2021
0d62f09
DOC: move detailed installation to user guide
tacaswell Aug 22, 2021
3839c5b
DOC: suggestions from review
tacaswell Aug 24, 2021
1c77a1b
STY: flake8 in conf.py
tacaswell Aug 24, 2021
f779ea6
STY: fix section capitalization
tacaswell Aug 24, 2021
50d41c5
DOC: continue to shuffle things around to placate the TOC
tacaswell Aug 24, 2021
769b3b7
DOC: add link to contents to index page
tacaswell Aug 24, 2021
2d599a8
DOC: tweaks to content / layout of inner index
tacaswell Aug 24, 2021
887be7b
DOC: add note about wheels
tacaswell Aug 24, 2021
965ef4d
DOC: hide the next/prev buttons
tacaswell Aug 24, 2021
4a892b7
DOC: add (but do not enable) external link to third-party page
tacaswell Aug 24, 2021
6d6ce6b
DOC: re-arrange contents.rst and top navbar
tacaswell Sep 4, 2021
daffe46
DOC: push up sphinx-pydata-theme dependency
tacaswell Sep 4, 2021
399fe22
DOC: re-arrange the release notes toctrees
tacaswell Aug 20, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
368 changes: 2 additions & 366 deletions doc/thirdpartypackages/index.rst
Original file line number Diff line number Diff line change
@@ -1,369 +1,5 @@
:orphan:

.. note::
.. raw:: html

This page has been moved to <https://matplotlib.org/mpl-third-party/>,
where you will find an up-to-date list of packages.


********************
Third party packages
********************

Several external packages that extend or build on Matplotlib functionality are
listed below. You can find more packages at `PyPI <https://pypi.org/search/?q=&o=&c=Framework+%3A%3A+Matplotlib>`_.
They are maintained and distributed separately from Matplotlib,
and thus need to be installed individually.

If you have a created a package that extends or builds on Matplotlib
and would like to have your package listed on this page, please submit
an issue or pull request on GitHub. The pull request should include a short
description of the library and an image demonstrating the functionality.
To be included in the PyPI listing, please include ``Framework :: Matplotlib``
in the classifier list in the ``setup.py`` file for your package. We are also
happy to host third party packages within the `Matplotlib GitHub Organization
<https://github.com/matplotlib>`_.


Mapping toolkits
****************

Basemap
=======
`Basemap <https://matplotlib.org/basemap/>`_ plots data on map projections,
with continental and political boundaries.

.. image:: /_static/basemap_contour1.png
:height: 400px

Cartopy
=======
`Cartopy <https://scitools.org.uk/cartopy/docs/latest/>`_ builds on top
of Matplotlib to provide object oriented map projection definitions
and close integration with Shapely for powerful yet easy-to-use vector
data processing tools. An example plot from the `Cartopy gallery
<https://scitools.org.uk/cartopy/docs/latest/gallery/index.html>`_:

.. image:: /_static/cartopy_hurricane_katrina_01_00.png
:height: 400px

Geoplot
=======
`Geoplot <https://residentmario.github.io/geoplot/index.html>`_ builds on top
of Matplotlib and Cartopy to provide a "standard library" of simple, powerful,
and customizable plot types. An example plot from the `Geoplot gallery
<https://residentmario.github.io/geoplot/index.html>`_:

.. image:: /_static/geoplot_nyc_traffic_tickets.png
:height: 400px

Ridge Map
=========
`ridge_map <https://github.com/ColCarroll/ridge_map>`_ uses Matplotlib,
SRTM.py, NumPy, and scikit-image to make ridge plots of your favorite
ridges.

.. image:: /_static/ridge_map_white_mountains.png
:height: 364px

Declarative libraries
*********************

ggplot
======
`ggplot <https://github.com/yhat/ggplot>`_ is a port of the R ggplot2 package
to python based on Matplotlib.

.. image:: /_static/ggplot.png
:height: 195px

holoviews
=========
`holoviews <http://holoviews.org>`_ makes it easier to visualize data
interactively, especially in a `Jupyter notebook <https://jupyter.org>`_, by
providing a set of declarative plotting objects that store your data and
associated metadata. Your data is then immediately visualizable alongside or
overlaid with other data, either statically or with automatically provided
widgets for parameter exploration.

.. image:: /_static/holoviews.png
:height: 354px

plotnine
========

`plotnine <https://plotnine.readthedocs.io/en/stable/>`_ implements a grammar
of graphics, similar to R's `ggplot2 <https://ggplot2.tidyverse.org/>`_.
The grammar allows users to compose plots by explicitly mapping data to the
visual objects that make up the plot.

.. image:: /_static/plotnine.png

Specialty plots
***************

Broken Axes
===========
`brokenaxes <https://github.com/bendichter/brokenaxes>`_ supplies an axes
class that can have a visual break to indicate a discontinuous range.

.. image:: /_static/brokenaxes.png

DeCiDa
======

`DeCiDa <https://pypi.org/project/DeCiDa/>`_ is a library of functions
and classes for electron device characterization, electronic circuit design and
general data visualization and analysis.

matplotlib-scalebar
===================

`matplotlib-scalebar <https://github.com/ppinard/matplotlib-scalebar>`_ provides a new artist to display a scale bar, aka micron bar.
It is particularly useful when displaying calibrated images plotted using ``plt.imshow(...)``.

.. image:: /_static/gold_on_carbon.jpg

Matplotlib-Venn
===============
`Matplotlib-Venn <https://github.com/konstantint/matplotlib-venn>`_ provides a
set of functions for plotting 2- and 3-set area-weighted (or unweighted) Venn
diagrams.

mpl-probscale
=============
`mpl-probscale <https://matplotlib.org/mpl-probscale/>`_ is a small extension
that allows Matplotlib users to specify probability scales. Simply importing the
``probscale`` module registers the scale with Matplotlib, making it accessible
via e.g., ``ax.set_xscale('prob')`` or ``plt.yscale('prob')``.

.. image:: /_static/probscale_demo.png

mpl-scatter-density
===================

`mpl-scatter-density <https://github.com/astrofrog/mpl-scatter-density>`_ is a
small package that makes it easy to make scatter plots of large numbers
of points using a density map. The following example contains around 13 million
points and the plotting (excluding reading in the data) took less than a
second on an average laptop:

.. image:: /_static/mpl-scatter-density.png
:height: 400px

When used in interactive mode, the density map is downsampled on-the-fly while
panning/zooming in order to provide a smooth interactive experience.

mplstereonet
============
`mplstereonet <https://github.com/joferkington/mplstereonet>`_ provides
stereonets for plotting and analyzing orientation data in Matplotlib.

Natgrid
=======
`mpl_toolkits.natgrid <https://github.com/matplotlib/natgrid>`_ is an interface
to the natgrid C library for gridding irregularly spaced data.

pyUpSet
=======
`pyUpSet <https://github.com/ImSoErgodic/py-upset>`_ is a
static Python implementation of the `UpSet suite by Lex et al.
<http://caleydo.org/tools/upset/>`_ to explore complex intersections of
sets and data frames.

seaborn
=======
`seaborn <http://seaborn.pydata.org/>`_ is a high level interface for drawing
statistical graphics with Matplotlib. It aims to make visualization a central
part of exploring and understanding complex datasets.

.. image:: /_static/seaborn.png
:height: 157px

WCSAxes
=======

The `Astropy <https://www.astropy.org/>`_ core package includes a submodule
called WCSAxes (available at `astropy.visualization.wcsaxes
<http://docs.astropy.org/en/stable/visualization/wcsaxes/index.html>`_) which
adds Matplotlib projections for Astronomical image data. The following is an
example of a plot made with WCSAxes which includes the original coordinate
system of the image and an overlay of a different coordinate system:

.. image:: /_static/wcsaxes.jpg
:height: 400px

Windrose
========
`Windrose <https://github.com/scls19fr/windrose>`_ is a Python Matplotlib,
Numpy library to manage wind data, draw windroses (also known as polar rose
plots), draw probability density functions and fit Weibull distributions.

Yellowbrick
===========
`Yellowbrick <https://www.scikit-yb.org/>`_ is a suite of visual diagnostic tools for machine learning that enables human steering of the model selection process. Yellowbrick combines scikit-learn with matplotlib using an estimator-based API called the ``Visualizer``, which wraps both sklearn models and matplotlib Axes. ``Visualizer`` objects fit neatly into the machine learning workflow allowing data scientists to integrate visual diagnostic and model interpretation tools into experimentation without extra steps.

.. image:: /_static/yellowbrick.png
:height: 400px

Animations
**********

animatplot
==========
`animatplot <https://animatplot.readthedocs.io/>`_ is a library for
producing interactive animated plots with the goal of making production of
animated plots almost as easy as static ones.

.. image:: /_static/animatplot.png

For an animated version of the above picture and more examples, see the
`animatplot gallery. <https://animatplot.readthedocs.io/en/stable/gallery.html>`_

gif
===
`gif <https://github.com/maxhumber/gif/>`_ is an ultra lightweight animated gif API.

.. image:: /_static/gif_attachment_example.png

numpngw
=======

`numpngw <https://pypi.org/project/numpngw/>`_ provides functions for writing
NumPy arrays to PNG and animated PNG files. It also includes the class
``AnimatedPNGWriter`` that can be used to save a Matplotlib animation as an
animated PNG file. See the example on the PyPI page or at the ``numpngw``
`github repository <https://github.com/WarrenWeckesser/numpngw>`_.

.. image:: /_static/numpngw_animated_example.png

Interactivity
*************

mplcursors
==========
`mplcursors <https://mplcursors.readthedocs.io>`_ provides interactive data
cursors for Matplotlib.

MplDataCursor
=============
`MplDataCursor <https://github.com/joferkington/mpldatacursor>`_ is a toolkit
written by Joe Kington to provide interactive "data cursors" (clickable
annotation boxes) for Matplotlib.

mpl_interactions
================
`mpl_interactions <https://mpl-interactions.readthedocs.io/en/latest/>`_
makes it easy to create interactive plots controlled by sliders and other
widgets. It also provides several handy capabilities such as manual
image segmentation, comparing cross-sections of arrays, and using the
scroll wheel to zoom.

.. image:: /_static/mpl-interactions-slider-animated.png

Rendering backends
******************

mplcairo
========
`mplcairo <https://github.com/anntzer/mplcairo>`_ is a cairo backend for
Matplotlib, with faster and more accurate marker drawing, support for a wider
selection of font formats and complex text layout, and various other features.

gr
==
`gr <https://gr-framework.org/>`_ is a framework for cross-platform
visualisation applications, which can be used as a high-performance Matplotlib
backend.

GUI integration
***************

wxmplot
=======
`WXMPlot <https://pypi.org/project/wxmplot/>`_ provides advanced wxPython
widgets for plotting and image display of numerical data based on Matplotlib.

Miscellaneous
*************

adjustText
==========
`adjustText <https://github.com/Phlya/adjustText>`_ is a small library for
automatically adjusting text position in Matplotlib plots to minimize overlaps
between them, specified points and other objects.

.. image:: /_static/adjustText.png

iTerm2 terminal backend
=======================
`matplotlib_iterm2 <https://github.com/oselivanov/matplotlib_iterm2>`_ is an
external Matplotlib backend using the iTerm2 nightly build inline image display
feature.

.. image:: /_static/matplotlib_iterm2_demo.png

mpl-template
============
`mpl-template <https://austinorr.github.io/mpl-template/index.html>`_ provides
a customizable way to add engineering figure elements such as a title block,
border, and logo.

.. image:: /_static/mpl_template_example.png
:height: 330px

figpager
========
`figpager <https://pypi.org/project/figpager/>`_ provides customizable figure
elements such as text, lines and images and subplot layout control for single
or multi page output.

.. image:: /_static/figpager.png

blume
=====

`blume <https://pypi.org/project/blume/>`_ provides a replacement for
the Matplotlib ``table`` module. It fixes a number of issues with the
existing table. See the `blume github repository
<https://github.com/swfiua/blume>`_ for more details.

.. image:: /_static/blume_table_example.png

highlight-text
==============

`highlight-text <https://pypi.org/project/highlight-text/>`_ is a small library
that provides an easy way to effectively annotate plots by highlighting
substrings with the font properties of your choice.
See the `highlight-text github repository
<https://github.com/znstrider/highlight_text>`_ for more details and examples.

.. image:: /_static/highlight_text_examples.png

DNA Features Viewer
===================

`DNA Features Viewer <https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer>`_
provides methods to plot annotated DNA sequence maps (possibly along other Matplotlib
plots) for Bioinformatics and Synthetic Biology applications.

.. image:: /_static/dna_features_viewer_screenshot.png

GUI applications
****************

sviewgui
========

`sviewgui <https://pypi.org/project/sviewgui/>`_ is a PyQt-based GUI for
visualisation of data from csv files or `pandas.DataFrame`\s. Main features:

- Scatter, line, density, histogram, and box plot types
- Settings for the marker size, line width, number of bins of histogram,
colormap (from cmocean)
- Save figure as editable PDF
- Code of the plotted graph is available so that it can be reused and modified
outside of sviewgui

.. image:: /_static/sviewgui_sample.png
<meta http-equiv="refresh" content="0; url=https://matplotlib.org/mpl-third-party/">