|
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