|
1 | 1 | :orphan:
|
2 | 2 |
|
3 |
| -.. note:: |
| 3 | +.. raw:: html |
4 | 4 |
|
5 |
| - This page has been moved to <https://matplotlib.org/mpl-third-party/>, |
6 |
| - where you will find an up-to-date list of packages. |
7 |
| - |
8 |
| - |
9 |
| -******************** |
10 |
| -Third party packages |
11 |
| -******************** |
12 |
| - |
13 |
| -Several external packages that extend or build on Matplotlib functionality are |
14 |
| -listed below. You can find more packages at `PyPI <https://pypi.org/search/?q=&o=&c=Framework+%3A%3A+Matplotlib>`_. |
15 |
| -They are maintained and distributed separately from Matplotlib, |
16 |
| -and thus need to be installed individually. |
17 |
| - |
18 |
| -If you have a created a package that extends or builds on Matplotlib |
19 |
| -and would like to have your package listed on this page, please submit |
20 |
| -an issue or pull request on GitHub. The pull request should include a short |
21 |
| -description of the library and an image demonstrating the functionality. |
22 |
| -To be included in the PyPI listing, please include ``Framework :: Matplotlib`` |
23 |
| -in the classifier list in the ``setup.py`` file for your package. We are also |
24 |
| -happy to host third party packages within the `Matplotlib GitHub Organization |
25 |
| -<https://github.com/matplotlib>`_. |
26 |
| - |
27 |
| - |
28 |
| -Mapping toolkits |
29 |
| -**************** |
30 |
| - |
31 |
| -Basemap |
32 |
| -======= |
33 |
| -`Basemap <https://matplotlib.org/basemap/>`_ plots data on map projections, |
34 |
| -with continental and political boundaries. |
35 |
| - |
36 |
| -.. image:: /_static/basemap_contour1.png |
37 |
| - :height: 400px |
38 |
| - |
39 |
| -Cartopy |
40 |
| -======= |
41 |
| -`Cartopy <https://scitools.org.uk/cartopy/docs/latest/>`_ builds on top |
42 |
| -of Matplotlib to provide object oriented map projection definitions |
43 |
| -and close integration with Shapely for powerful yet easy-to-use vector |
44 |
| -data processing tools. An example plot from the `Cartopy gallery |
45 |
| -<https://scitools.org.uk/cartopy/docs/latest/gallery/index.html>`_: |
46 |
| - |
47 |
| -.. image:: /_static/cartopy_hurricane_katrina_01_00.png |
48 |
| - :height: 400px |
49 |
| - |
50 |
| -Geoplot |
51 |
| -======= |
52 |
| -`Geoplot <https://residentmario.github.io/geoplot/index.html>`_ builds on top |
53 |
| -of Matplotlib and Cartopy to provide a "standard library" of simple, powerful, |
54 |
| -and customizable plot types. An example plot from the `Geoplot gallery |
55 |
| -<https://residentmario.github.io/geoplot/index.html>`_: |
56 |
| - |
57 |
| -.. image:: /_static/geoplot_nyc_traffic_tickets.png |
58 |
| - :height: 400px |
59 |
| - |
60 |
| -Ridge Map |
61 |
| -========= |
62 |
| -`ridge_map <https://github.com/ColCarroll/ridge_map>`_ uses Matplotlib, |
63 |
| -SRTM.py, NumPy, and scikit-image to make ridge plots of your favorite |
64 |
| -ridges. |
65 |
| - |
66 |
| -.. image:: /_static/ridge_map_white_mountains.png |
67 |
| - :height: 364px |
68 |
| - |
69 |
| -Declarative libraries |
70 |
| -********************* |
71 |
| - |
72 |
| -ggplot |
73 |
| -====== |
74 |
| -`ggplot <https://github.com/yhat/ggplot>`_ is a port of the R ggplot2 package |
75 |
| -to python based on Matplotlib. |
76 |
| - |
77 |
| -.. image:: /_static/ggplot.png |
78 |
| - :height: 195px |
79 |
| - |
80 |
| -holoviews |
81 |
| -========= |
82 |
| -`holoviews <http://holoviews.org>`_ makes it easier to visualize data |
83 |
| -interactively, especially in a `Jupyter notebook <https://jupyter.org>`_, by |
84 |
| -providing a set of declarative plotting objects that store your data and |
85 |
| -associated metadata. Your data is then immediately visualizable alongside or |
86 |
| -overlaid with other data, either statically or with automatically provided |
87 |
| -widgets for parameter exploration. |
88 |
| - |
89 |
| -.. image:: /_static/holoviews.png |
90 |
| - :height: 354px |
91 |
| - |
92 |
| -plotnine |
93 |
| -======== |
94 |
| - |
95 |
| -`plotnine <https://plotnine.readthedocs.io/en/stable/>`_ implements a grammar |
96 |
| -of graphics, similar to R's `ggplot2 <https://ggplot2.tidyverse.org/>`_. |
97 |
| -The grammar allows users to compose plots by explicitly mapping data to the |
98 |
| -visual objects that make up the plot. |
99 |
| - |
100 |
| -.. image:: /_static/plotnine.png |
101 |
| - |
102 |
| -Specialty plots |
103 |
| -*************** |
104 |
| - |
105 |
| -Broken Axes |
106 |
| -=========== |
107 |
| -`brokenaxes <https://github.com/bendichter/brokenaxes>`_ supplies an axes |
108 |
| -class that can have a visual break to indicate a discontinuous range. |
109 |
| - |
110 |
| -.. image:: /_static/brokenaxes.png |
111 |
| - |
112 |
| -DeCiDa |
113 |
| -====== |
114 |
| - |
115 |
| -`DeCiDa <https://pypi.org/project/DeCiDa/>`_ is a library of functions |
116 |
| -and classes for electron device characterization, electronic circuit design and |
117 |
| -general data visualization and analysis. |
118 |
| - |
119 |
| -matplotlib-scalebar |
120 |
| -=================== |
121 |
| - |
122 |
| -`matplotlib-scalebar <https://github.com/ppinard/matplotlib-scalebar>`_ provides a new artist to display a scale bar, aka micron bar. |
123 |
| -It is particularly useful when displaying calibrated images plotted using ``plt.imshow(...)``. |
124 |
| - |
125 |
| -.. image:: /_static/gold_on_carbon.jpg |
126 |
| - |
127 |
| -Matplotlib-Venn |
128 |
| -=============== |
129 |
| -`Matplotlib-Venn <https://github.com/konstantint/matplotlib-venn>`_ provides a |
130 |
| -set of functions for plotting 2- and 3-set area-weighted (or unweighted) Venn |
131 |
| -diagrams. |
132 |
| - |
133 |
| -mpl-probscale |
134 |
| -============= |
135 |
| -`mpl-probscale <https://matplotlib.org/mpl-probscale/>`_ is a small extension |
136 |
| -that allows Matplotlib users to specify probability scales. Simply importing the |
137 |
| -``probscale`` module registers the scale with Matplotlib, making it accessible |
138 |
| -via e.g., ``ax.set_xscale('prob')`` or ``plt.yscale('prob')``. |
139 |
| - |
140 |
| -.. image:: /_static/probscale_demo.png |
141 |
| - |
142 |
| -mpl-scatter-density |
143 |
| -=================== |
144 |
| - |
145 |
| -`mpl-scatter-density <https://github.com/astrofrog/mpl-scatter-density>`_ is a |
146 |
| -small package that makes it easy to make scatter plots of large numbers |
147 |
| -of points using a density map. The following example contains around 13 million |
148 |
| -points and the plotting (excluding reading in the data) took less than a |
149 |
| -second on an average laptop: |
150 |
| - |
151 |
| -.. image:: /_static/mpl-scatter-density.png |
152 |
| - :height: 400px |
153 |
| - |
154 |
| -When used in interactive mode, the density map is downsampled on-the-fly while |
155 |
| -panning/zooming in order to provide a smooth interactive experience. |
156 |
| - |
157 |
| -mplstereonet |
158 |
| -============ |
159 |
| -`mplstereonet <https://github.com/joferkington/mplstereonet>`_ provides |
160 |
| -stereonets for plotting and analyzing orientation data in Matplotlib. |
161 |
| - |
162 |
| -Natgrid |
163 |
| -======= |
164 |
| -`mpl_toolkits.natgrid <https://github.com/matplotlib/natgrid>`_ is an interface |
165 |
| -to the natgrid C library for gridding irregularly spaced data. |
166 |
| - |
167 |
| -pyUpSet |
168 |
| -======= |
169 |
| -`pyUpSet <https://github.com/ImSoErgodic/py-upset>`_ is a |
170 |
| -static Python implementation of the `UpSet suite by Lex et al. |
171 |
| -<http://caleydo.org/tools/upset/>`_ to explore complex intersections of |
172 |
| -sets and data frames. |
173 |
| - |
174 |
| -seaborn |
175 |
| -======= |
176 |
| -`seaborn <http://seaborn.pydata.org/>`_ is a high level interface for drawing |
177 |
| -statistical graphics with Matplotlib. It aims to make visualization a central |
178 |
| -part of exploring and understanding complex datasets. |
179 |
| - |
180 |
| -.. image:: /_static/seaborn.png |
181 |
| - :height: 157px |
182 |
| - |
183 |
| -WCSAxes |
184 |
| -======= |
185 |
| - |
186 |
| -The `Astropy <https://www.astropy.org/>`_ core package includes a submodule |
187 |
| -called WCSAxes (available at `astropy.visualization.wcsaxes |
188 |
| -<http://docs.astropy.org/en/stable/visualization/wcsaxes/index.html>`_) which |
189 |
| -adds Matplotlib projections for Astronomical image data. The following is an |
190 |
| -example of a plot made with WCSAxes which includes the original coordinate |
191 |
| -system of the image and an overlay of a different coordinate system: |
192 |
| - |
193 |
| -.. image:: /_static/wcsaxes.jpg |
194 |
| - :height: 400px |
195 |
| - |
196 |
| -Windrose |
197 |
| -======== |
198 |
| -`Windrose <https://github.com/scls19fr/windrose>`_ is a Python Matplotlib, |
199 |
| -Numpy library to manage wind data, draw windroses (also known as polar rose |
200 |
| -plots), draw probability density functions and fit Weibull distributions. |
201 |
| - |
202 |
| -Yellowbrick |
203 |
| -=========== |
204 |
| -`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. |
205 |
| - |
206 |
| -.. image:: /_static/yellowbrick.png |
207 |
| - :height: 400px |
208 |
| - |
209 |
| -Animations |
210 |
| -********** |
211 |
| - |
212 |
| -animatplot |
213 |
| -========== |
214 |
| -`animatplot <https://animatplot.readthedocs.io/>`_ is a library for |
215 |
| -producing interactive animated plots with the goal of making production of |
216 |
| -animated plots almost as easy as static ones. |
217 |
| - |
218 |
| -.. image:: /_static/animatplot.png |
219 |
| - |
220 |
| -For an animated version of the above picture and more examples, see the |
221 |
| -`animatplot gallery. <https://animatplot.readthedocs.io/en/stable/gallery.html>`_ |
222 |
| - |
223 |
| -gif |
224 |
| -=== |
225 |
| -`gif <https://github.com/maxhumber/gif/>`_ is an ultra lightweight animated gif API. |
226 |
| - |
227 |
| -.. image:: /_static/gif_attachment_example.png |
228 |
| - |
229 |
| -numpngw |
230 |
| -======= |
231 |
| - |
232 |
| -`numpngw <https://pypi.org/project/numpngw/>`_ provides functions for writing |
233 |
| -NumPy arrays to PNG and animated PNG files. It also includes the class |
234 |
| -``AnimatedPNGWriter`` that can be used to save a Matplotlib animation as an |
235 |
| -animated PNG file. See the example on the PyPI page or at the ``numpngw`` |
236 |
| -`github repository <https://github.com/WarrenWeckesser/numpngw>`_. |
237 |
| - |
238 |
| -.. image:: /_static/numpngw_animated_example.png |
239 |
| - |
240 |
| -Interactivity |
241 |
| -************* |
242 |
| - |
243 |
| -mplcursors |
244 |
| -========== |
245 |
| -`mplcursors <https://mplcursors.readthedocs.io>`_ provides interactive data |
246 |
| -cursors for Matplotlib. |
247 |
| - |
248 |
| -MplDataCursor |
249 |
| -============= |
250 |
| -`MplDataCursor <https://github.com/joferkington/mpldatacursor>`_ is a toolkit |
251 |
| -written by Joe Kington to provide interactive "data cursors" (clickable |
252 |
| -annotation boxes) for Matplotlib. |
253 |
| - |
254 |
| -mpl_interactions |
255 |
| -================ |
256 |
| -`mpl_interactions <https://mpl-interactions.readthedocs.io/en/latest/>`_ |
257 |
| -makes it easy to create interactive plots controlled by sliders and other |
258 |
| -widgets. It also provides several handy capabilities such as manual |
259 |
| -image segmentation, comparing cross-sections of arrays, and using the |
260 |
| -scroll wheel to zoom. |
261 |
| - |
262 |
| -.. image:: /_static/mpl-interactions-slider-animated.png |
263 |
| - |
264 |
| -Rendering backends |
265 |
| -****************** |
266 |
| - |
267 |
| -mplcairo |
268 |
| -======== |
269 |
| -`mplcairo <https://github.com/anntzer/mplcairo>`_ is a cairo backend for |
270 |
| -Matplotlib, with faster and more accurate marker drawing, support for a wider |
271 |
| -selection of font formats and complex text layout, and various other features. |
272 |
| - |
273 |
| -gr |
274 |
| -== |
275 |
| -`gr <https://gr-framework.org/>`_ is a framework for cross-platform |
276 |
| -visualisation applications, which can be used as a high-performance Matplotlib |
277 |
| -backend. |
278 |
| - |
279 |
| -GUI integration |
280 |
| -*************** |
281 |
| - |
282 |
| -wxmplot |
283 |
| -======= |
284 |
| -`WXMPlot <https://pypi.org/project/wxmplot/>`_ provides advanced wxPython |
285 |
| -widgets for plotting and image display of numerical data based on Matplotlib. |
286 |
| - |
287 |
| -Miscellaneous |
288 |
| -************* |
289 |
| - |
290 |
| -adjustText |
291 |
| -========== |
292 |
| -`adjustText <https://github.com/Phlya/adjustText>`_ is a small library for |
293 |
| -automatically adjusting text position in Matplotlib plots to minimize overlaps |
294 |
| -between them, specified points and other objects. |
295 |
| - |
296 |
| -.. image:: /_static/adjustText.png |
297 |
| - |
298 |
| -iTerm2 terminal backend |
299 |
| -======================= |
300 |
| -`matplotlib_iterm2 <https://github.com/oselivanov/matplotlib_iterm2>`_ is an |
301 |
| -external Matplotlib backend using the iTerm2 nightly build inline image display |
302 |
| -feature. |
303 |
| - |
304 |
| -.. image:: /_static/matplotlib_iterm2_demo.png |
305 |
| - |
306 |
| -mpl-template |
307 |
| -============ |
308 |
| -`mpl-template <https://austinorr.github.io/mpl-template/index.html>`_ provides |
309 |
| -a customizable way to add engineering figure elements such as a title block, |
310 |
| -border, and logo. |
311 |
| - |
312 |
| -.. image:: /_static/mpl_template_example.png |
313 |
| - :height: 330px |
314 |
| - |
315 |
| -figpager |
316 |
| -======== |
317 |
| -`figpager <https://pypi.org/project/figpager/>`_ provides customizable figure |
318 |
| -elements such as text, lines and images and subplot layout control for single |
319 |
| -or multi page output. |
320 |
| - |
321 |
| - .. image:: /_static/figpager.png |
322 |
| - |
323 |
| -blume |
324 |
| -===== |
325 |
| - |
326 |
| -`blume <https://pypi.org/project/blume/>`_ provides a replacement for |
327 |
| -the Matplotlib ``table`` module. It fixes a number of issues with the |
328 |
| -existing table. See the `blume github repository |
329 |
| -<https://github.com/swfiua/blume>`_ for more details. |
330 |
| - |
331 |
| -.. image:: /_static/blume_table_example.png |
332 |
| - |
333 |
| -highlight-text |
334 |
| -============== |
335 |
| - |
336 |
| -`highlight-text <https://pypi.org/project/highlight-text/>`_ is a small library |
337 |
| -that provides an easy way to effectively annotate plots by highlighting |
338 |
| -substrings with the font properties of your choice. |
339 |
| -See the `highlight-text github repository |
340 |
| -<https://github.com/znstrider/highlight_text>`_ for more details and examples. |
341 |
| - |
342 |
| -.. image:: /_static/highlight_text_examples.png |
343 |
| - |
344 |
| -DNA Features Viewer |
345 |
| -=================== |
346 |
| - |
347 |
| -`DNA Features Viewer <https://github.com/Edinburgh-Genome-Foundry/DnaFeaturesViewer>`_ |
348 |
| -provides methods to plot annotated DNA sequence maps (possibly along other Matplotlib |
349 |
| -plots) for Bioinformatics and Synthetic Biology applications. |
350 |
| - |
351 |
| -.. image:: /_static/dna_features_viewer_screenshot.png |
352 |
| - |
353 |
| -GUI applications |
354 |
| -**************** |
355 |
| - |
356 |
| -sviewgui |
357 |
| -======== |
358 |
| - |
359 |
| -`sviewgui <https://pypi.org/project/sviewgui/>`_ is a PyQt-based GUI for |
360 |
| -visualisation of data from csv files or `pandas.DataFrame`\s. Main features: |
361 |
| - |
362 |
| -- Scatter, line, density, histogram, and box plot types |
363 |
| -- Settings for the marker size, line width, number of bins of histogram, |
364 |
| - colormap (from cmocean) |
365 |
| -- Save figure as editable PDF |
366 |
| -- Code of the plotted graph is available so that it can be reused and modified |
367 |
| - outside of sviewgui |
368 |
| - |
369 |
| -.. image:: /_static/sviewgui_sample.png |
| 5 | + <meta http-equiv="refresh" content="0; url=https://matplotlib.org/mpl-third-party/"> |
0 commit comments