matplotlib 3.0.2

Python matplotlib is a for 2D plotting publication-ready figures in various formats, or rendering them interactively cross-platform. It can be scripted or used in Pythons interactive shell, within web applications, or through bindings with multiple GUI toolkits. It simplifies plot generation, histograms, power spectra, bar charts, error charts, scatter plots. Typical uses only require a few lines of code, while complex rendering is kept feasible. Its pyplot interface provides a MATLAB-style API.

Tags python plotting graphs science mathematics matlab matplot
License Python
State stable

Recent Releases

3.0.210 Nov 2018 21:05 minor feature: REL: v3.0.2 This is the second -release for the v3.0 series. - Un-breaks basemap which was broken by partially restoring. private APIs for cartopy. - in warning code when used in an embedded context. - crash when using Tk and closing the first open window before showing it. - Many documentation improvements. - Restore a corner case on ColorBar tick usage. - Change the default behavior of `matplotlib.use` to silently allow. more 'safe' switching after auto-discovery, but before starting an event loop. - Improvements to bounding box calculations. - Provide the correct length for RcParams instances.
3.0.126 Oct 2018 21:25 minor feature: REL: v3.0.1 This is the first release for the 3.0 series which. Several Failure to import when used with backend-fallback on Python. 3.6.7 and 3.7.1. - a number of failure to import around finding fonts. - Qt4 backend. - on OSX that recursively searched current directory for fonts. Bouncing-rocket on OSX when doing backend fallback and not. Selecting OSX. - Temporarily restore several private APIs to unbreak cartopy. - Make pyplot more tolerant of varying signatures in 3rd-party. Sub-classe. - Improve datetime64 unit handling. Several poor interactions with tight_layout.
3.0.018 Sep 2018 15:25 minor feature: REL: v3.0.0 The first release of the Matplotlib 3.0 series. This is the first version of Matplotlib to only support Python 3. Highlights of this release include: - GUI backend is selected at run-time based on what toolkits are. installed. A GUI toolkit will not be selected on a headless. server. - New cyclic color map *twilight*. - Improvements to automatic layout of titles, ticks, and GridSpec. - Many !.
3.0.0rc228 Aug 2018 16:05 minor feature: BLD: bump branch away from tag . Use Format_ARGB32_Premultiplied instead of RGBA8888 for Qt backends. . . . Backport PR #11876: MAINT Better error message for number of colors v . . . . Backport PR #11862: NumPy FutureWarning for non-tuple indexing. . Backport PR #11847: Use ImageMagick's magick.exe if convert.exe is no . . . . Backport PR #11850: : macosx framework check. . . . . . Backport PR #11900: Allow args to pass through _allow_super_init. . . . Backport PR #11907: Move TOC back to top in axes documentation. . . . Backport PR #11591: : correct the scaling in the floating-point sl . . Backport PR #11897: HTMLWriter, put initialisation of frames in setup. . . . . . Backport PR #11917: : make arg 'N' and kwarg 'levels' behave the s . . . . Backport PR #11934: Suppress the "non-GUI backend" warning from the. . . Backport PR #11949: Remove test2.png from examples. . . . . . Backport PR #11896: Resolve backend in rcParams.__getitem__("backend"). . . . REL: v3.0.0rc2.
3.0.0rc114 Aug 2018 11:45 minor feature: DOC: move a couple of GridSpec examples into subplots gallery . incorrect doctest syntax. . Cleanup some doctest wrapping. . an undefined variable in doctest. . Don't use Popen(..., shell=True). . : be forgiving about the event for enterEvent not having a pos. . . improve c kwarg checking (and error messages) in scatter. . an when *c == 'none'. . factor existing scatter tests into a class. . add an explicit test about the 'c' kwarg for scatter. . naming of 'c' and drop the adjective 'named'. . DOC: modify tight_layout and add constrained_lyaout demo. . . . . . Set norm to log if bins=='log' in hexbin. . : Do not call the flush method on a file object opened. . . . DOC: better tight_layout error handling. . TST: add a test for tight_layout warning. . Minor docstring. . . gitter badge; remove depsy badge. . deprecation messages. . Don't update style-blacklisted rcparams in rc_ functions. . . . Split API changes into individual pages. . Small. Add note. . . . Clean up next api_changes. . Remove duplicated item. . barplot color if none and alpha is set. . Add CircleCI cache of user fonts. . . . Remove unused imports from examples. . Annotate reason for Axes3D import in examples. . . . . . . . . . . . . . . . SVG Backend gouraud_triangle correction. . : CL avoid fully collapsed axes. . Sort named colors vertically for easier comparison of similar colors. . Shrink figure size. . Adjust formatting to look good outside the jupyter notebook. . . . DOC: tweak reviewer guidelines. . . . . . . . . . . . DOC: tweak reviewer guide a bit more. . . . . . Increase tolerance for aarch64 tests. . Space after : . Add comment re: use of lru_cache in PsfontsMap. . Let QPaintEvent tell us what region to repaint. . Boring style. . ENH: Add gridspec method to figure, and subplotspecs. . . . . . . . Add fig.add_artist method. . Remove unused code. . Use super() instead of manually fetching supermethods for parasite axes.
2.2.310 Aug 2018 10:05 minor feature: REL: v2.2.3 The third -release of the v2.2 LTS series. In addition to documentation and example this release. Several critical : Import failure on BSD systems. Import errors in Qt shims for PyQt5 5.11 and PyQt4 4.12. Import errors if bz2 module is not in standard library. Overflow in _path.h. Infinite recursion in transform repr. With XKCD style. Remove unsafe usage of Popen.
2.2.222 Mar 2018 07:05 minor feature: REL: v2.2.2 LTS The second -release of the v2.2 LTS series. This release a number of critical : Restores matplotlib.verbose. Preserve precision when color mapping small portions of data with. Extreme outliers. Saving long movies with ffmpeg. - UnbourdLocal error in contour labeling. Import failure on python 3.4.0 and 3.4.1. Compile time failures with clang on 32bit platforms. - an icon in the Tk backends. Several with Tables. Expanding offset boxes with tight_layout. Revert changes to the font caching to avoid a possible in. Backports.lru_cache. Numerous docstring and documentation. We have reverted the deprecation of `font_manager.TempCache`. v2.2.1 did not actually restore matplotlib.verbose.
2.2.118 Mar 2018 00:25 minor feature: REL: v2.2.1 LTS The first -release of the v2.2 LTS series. This release a number of critical : Restores matplotlib.verbose. Preserve precision when color mapping small portions of data with. Extreme outliers. Saving long movies with ffmpeg. - UnbourdLocal error in contour labeling. Import failure on python 3.4.0 and 3.4.1. Compile time failures with clang on 32bit platforms. - an icon in the Tk backends. Several with Tables. Expanding offset boxes with tight_layout. Revert changes to the font caching to avoid a possible in. Backports.lru_cache. Numerous docstring and documentation. We have reverted the deprecation of `font_manager.TempCache`.
2.2.007 Mar 2018 06:05 minor feature: REL: v2.2.0 LTS The first release of the v2.2 LTS series and the last version of. Matplotlib to support python2. There will be -release for this. series until 2020. This release includes new features including: - An experimental constrained layout manager. - Color blind friendly color map (cividis) and color cycle. (tableau-colorblind10). - native support for numpy.datetime64 types. - animated gif writing via pillow. - TkAgg now works with pypy. - cairo based backends for Qt, Tk, and WX. There are several API changes in this release: - To support the constrained layout Matplotlib has a new required. dependency (kiwisolver). - The `matplotlib.finance` module has been removed, development has. moved to a stand-alone project.
2.2.0rc113 Feb 2018 13:25 minor feature: Make the horizontal bar appear in AnchoredArtists example. . . . . . Unset the canvas manager when saving the figure. . . . Switch the lasso selector to use mpl event handling, not input(). . . . Clean up next what's new files. . . . . . . . . . . . . . Alternate implementation of lazy ticks. . . . Make commented ACCEPTS statements inline comments. . TST pyqt5 5.9. . use tight_layout + typos/minor. signicant overhaul (of the style) of the example. . . . get rid of the remaining helper function. . . . Add libdl on Linux systems. . rephrase some of the comments. . overhaul of the overhaul. . . . . . Clarify axis sharing with aspect ratio control. . . . Minor improvements to quadmesh_demo. . Clip RGB data to valid range in Axes.imshow. . Linewrap backend_pgf to 79 characters. . . . Use deg2rad/rad2deg where appropriate. . enhanced tests. . errors exposed by checks on PR. . py27 unicode test error. . . . Various examples updates. . . . Don't call np.identity() in transforms. . Deprecate truncating saved unsized anims to 100 frames. . Remove a long and now outdated comment. . . . Parametrize image_comparison test. . Remove some commented out code, extraneous parentheses. . Join strings instead of adding them. . . . . . . . Remove unnecessary calls to float() before division. . reformat code. . Merge branch 'master' of https://github.com/matplotlib/matplotlib int . . update set_drawstyle. . added test for, yaxis tick label left/right. . Update test_lines.py. . Use image_comparison decorator in pgf tests. . Update test_lines.py. . . . . . . . . . ENH: Constrained layout geometry manager. . Deprecate backend_tkagg.AxisMenu. . . . . . . . . . qt 4,5 cairo backend: the minimal version. . . . improve code generated by boilerplate.py. . Custom :rcparam: role. . . . Hide the backend.qt4/5 rcparam deprecation warning in test suite. . When latex fails, make sure it does not write a dvi. . small typo. . .
2.1.219 Jan 2018 03:19 minor feature: REL: v2.1.2 The second -release for the 2.1 series. This release a number of critical : - a typo in mlab.cohere which yielded incorrect results. Allow nonposx / nonposy to pass through loglog. Color comparisons when finding handles with legend. - a recursive draw and a major performance regression in. Qt5Agg backend. - a re-draw in WxAgg. Image scaling with high-bit depth integers. Revert the busy-cursor.
2.1.111 Dec 2017 23:05 minor feature: REL: v2.1.1 The first and only planned -release for the 2.1 series. This release include many and documentation. Highlights are: Change default logscale behavior to clip. Webagg import errors. Tweaks to polar ticks. Exception when guessing afm family names. Update manifest to include all doc files. Improve masked array handling in pcolormesh. Segfault from reading invalid png. Blocking_input. Resulting in huge multi-page pdf files. Make `show` in nbagg take args as other backends do. Several to OSX backend. Restore positional arg handling on Figure.legend. - in interactive navigation. When panning with invalid limits. With fully masked arrays passed to imshow.
2.1.006 Oct 2017 05:45 minor feature: REL: v2.1.0 Matplotlib v2.1.0 release. This is a major feature release of Matplotlib. This release includes. Several major new features such as: Improved polar plots. String categorical support. - 'voxel' 3D plots. The `Figure` class now has a `subplots` method. And many.
2.1.0rc102 Sep 2017 21:05 minor feature: MNT: Move everything to next_whats_new. ENH: Add whats new for barbs/quiver date support. Use (set_)tick_params more internally. Use (set_)tick_params more in examples. Mention use of Axes.tick_params in docs. Workaround for islice int error in animation.py. DOC: Add a banner indicating docs are unreleased. Added blank line in test_legend.py at EOF for pep8 compliance. Added lines to lib/matplotlib/axes/_axes.py to account. :remove method for container when one of the items is None, ?. TST: correct expected canvas sizes. CI: re-enable py2.7 testing on appveyor. typos. Clarify docstring for linthresh keyword arg. First attempt at warning about unused kwargs. Add one more missing kwarg return. Simplify warning message generation. Register figureoptions edits in views history. Don't push axes state if it wasn't edited. Switch to a private, simpler AxesStack. adding missing numpy import in backend-tools. logscale + subplots share axes. leaked exception in RRuleLocator.tick_values. remove unnecessary try block in test_RRuleLocator_dayrange. leaked exception in RRuleLocator.tick_values. correct test_RRuleLocator_dayrange. Solarize_Light2. MNT/DOC: whitespace + updated example heading. Revert " Revert "ENH: Switch to a private, simpler AxesStack.". MNT: remove setting patch color default. DOC: link. Add new *fast style, update performance docs. Markup cleanups. Allow tuples of 4 floats as color rcparams. Deprecate the Axes-reuse-if-same-args behavior. docstring for key_press_handler_id. ENH: Add an "arc" spine type. Allow negative radii in RadialLocator and polar grids. Ensure polar radial limits are nonsingular. ENH: Don't round degree digits when zoomed on PolarAxes. MNT: Standardize import in polar projection. MNT: Use transforms for polar direction offset. ENH: Allow setting an "origin" radius for PolarAxes. ENH: Allow setting angle limits on PolarAxes. ENH: Allow offsetting PolarAxes' zero location. STY: PEP8 the rest of PolarAxes code.
2.0.210 May 2017 14:45 minor feature: REL: v2.0.2 Critical for 2.0.1. - Qt4 support. - LogFormatter. - hatched artists in legends. - segfault with large images.
2.0.102 May 2017 17:25 minor feature: REL: v2.0.1 release for 2.0.x series. This release includes, documentation updates and one major change. API. - Do not clip the linewidth used for dash pattern scaling. This is. an API change, but is a major improvement. - Deprecate 'vega' color names in favor of 'tab'. - Hatching color follows edge color again. - a critical with masked images. - Improved high-dpi support for Qt5. - Log ticking no never skip minor ticks. - Do not skip points surrounded by nan/inf in vector outputs. Supported versions of Python. - 2.7, 3.4, 3.5, 3.6. - Patches to improve compatibility with pypy.
2.0.017 Jan 2017 06:25 minor feature: 'viridis' is default color map instead of jet. Modernized the default color cycle. Many more functions respect the color cycle. Line dash patterns scale with linewidth. Change default font to DejaVu, now supports most western. alphabets (including Greek, Cyrillic and latin with diacritcs), math symbols and emoji out of the box. Faster text rendering. Improved auto-limits. Ticks out and only on the right and bottom spines by default. Improved auto-ticking, particularly for log scales and dates. Improved image support (imshow respects scales and eliminated a class of artifacts).
2.0.0rc219 Dec 2016 03:16 minor feature: Eliminate fatal exceptions with Qt5.7. Memory leak in the contour code. Keyboard interaction with nbagg. Automatic integration with the ipython event loop (if running) which 'naive' integration for IPython 5+.
2.0.0rc106 Dec 2016 10:05 minor feature: Eliminate fatal exceptions with Qt5.7. Memory leak in the contour code. Keyboard interaction with nbagg. Automatic integration with the ipython event loop (if running) which 'naive' integration for IPython 5+.
2.0.0b413 Sep 2016 12:05 minor feature: Eliminate fatal exceptions with Qt5.7. Memory leak in the contour code. Keyboard interaction with nbagg. Automatic integration with the ipython event loop (if running) which 'naive' integration for IPython 5+.
1.5.309 Sep 2016 22:05 minor feature: Eliminate fatal exceptions with Qt5.7. Memory leak in the contour code. Keyboard interaction with nbagg. Automatic integration with the ipython event loop (if running) which 'naive' integration for IPython 5+.
2.0.0b320 Jul 2016 09:45 minor feature: API: change the dot patterns. explicitly select cell after figure on shift-enter. TST: add test for lw scaling of dash patterns. PNG backport. REL: v2.0.0b3.
2.0.0b215 Jul 2016 06:25 minor feature: REL: v2.0.0b2 Second beta for v2.0.0. in scaling dash pattern by linewidth. Over/under propagating in images. Back ported improved png API from master. Deprecate gtk, gdk, wx (not gtkagg, wxagg) backends. Tweaks to default font sizes. Ensure default ticker always has at least 2 ticks. Remove vendored version of `six`. Updated GUI icons. Many small.
1.5.204 Jul 2016 21:05 minor feature: REL: v1.5.2 Final planned -release for the 1.5.x. Highlights: Support for manylinux wheels. Major performance regression in Path.contains_points. Improved pandas support.
2.0.0b131 May 2016 15:25 minor feature: Merge remote-tracking branch 'matplotlib/v1.5.x' into v2.x. Merge remote-tracking branch 'matplotlib/v1.5.x' into v2.x. Merge branch 'v1.5.x' into v2.x. restore single character colors to rgb tuples. Merge remote-tracking branch 'matplotlib/v1.5.x' into v2.x. Merge remote-tracking branch 'matplotlib/v1.5.x' into v2.x. MNT: use getboolean on config. ENH: use env MPLLOCALFREETYPE for local freetype. TST/BLD: add caching logic for local freetype. TST: remove folders we do not want to cache. Merge branch 'v1.5.x' into v2.x. TST: test that number of ticks adjust with aspect. always use at least 2 ticks and recompute. TST: hard-code nbins. MNT: remove caching of _tick_space. DOC: modify examples to number of ticks. Change default image interpolation to nearest. Change docstring to reflect new default interpolation. typo. set default numpoints of legend entries to 1. Set default figure background to white. Don't plot errorbar caps by default. Grey solid tick lines. API: use 'best' for default legend location. Outward ticks. Use "new" blue by default. Change default color map (). Use Vega collection10 colors instead. Rounded corners on legend box. Use overlay by default. Simplify examples to use defaults more often. Add what's new. Document Xtick.minor.visible. Use image.resample == True. Update test images. Revert some changes caught by @QuLogic in review. typo. Make sure that we have at least one loc before calculating as suggest?. Update test images. Improve what's new. formatting. Change figure background for real. More detail in what's new. Remove info about Blues colormap -- we're punting. USe tight_layout rather than hardcoded space. Don't use jet. Don't hardcode linewidth. comment. comment. Update docstring to match kwarg default. Add missing test file. Merge remote-tracking branch 'matplotlib/v1.5.x' into merge15xto2xcon?. MNT: tweak lock. merge remote-tracking branch 'matplotlib/v1.5.x' into v2.x. MNT: remove '#' from matplotlibrc. Remo
1.5.2rc228 May 2016 03:05 minor feature: DOC: add disclaimer for tk versions. DOC: add NUMFocus logo as requested by NUMFocus. Merge remote-tracking branch 'matplotlib/v1.5.1-doc' into v1.5.x. delete example fragment. REL: v1.5.2rc2.
1.5.2rc123 May 2016 06:45 minor feature: DOC: add new DOI link. DOC: update gh stats. DOC: include private bases in inheritance diagrams. Correct mep numbers in headers. Update the baseline image. BLD: include tests.py in sdist. new pep8 in legend_demo5. Merge remote-tracking branch 'matplotlib/v1.5.1-doc' into v1.5.x. DOC: update year. Merge remote-tracking branch 'matplotlib/v1.5.1-doc' into v1.5.x. Remove reference to changelog from frontpage. Merge branch 'v1.5.1-doc' into v1.5.x. DOC: add function name to deprecation warning. instances of formating for py2.6 compatibility. Don't clip paths. only draw tick labels if tick is in range. Update test. DOC: remove last paypal link. MNT: mark as not stale if not visible. DOC: rotten link. py2.6 format usage. CI: pin 1.5.x cycler to 0.9.0. Add missing datetime import to webagg. new pep8 in legend_demo5. Correct link to favicon by using build in sphix support. PRF: change draw - draw_idle. Merge remote-tracking branch 'matplotlib/v1.5.1-doc' into v1.5.x. Update LICENSE file to match doc/users/license.rst. Added images and links for seaborn, holoviews, and ggplot. Merge remote-tracking branch 'matplotlib/v1.5.1-doc' into v1.5.x. always normalize dpi. MNT: remove redundant normalization. DOC: remove static images. DOC/MNT: remove unused/outdate files. MNT: cleanup initialization of subplot. year. deal with negative canvas dimension in Qt. MNT: check PySide, PyQt4, or PyQt5 are imported. MNT: simplify fallback Qt behavior. TST: conditionally import assert_sequence_equal. deprecation warning with dateutil 2.5. TST: raise ImageComparisonFailure on size mismatch. DOC: FancyBoxPatch - FancyBboxPatch typo. A feeble attempt to plug a theoretical security hole. do not always reset scales from igureoptions. use b'' when escaping array as strings in ps. MNT: be explicitly strict in FunctionAnimation. Add some kwarg normalization to plot()/fill(). PEP8 in test_cy
1.5.111 Jan 2016 10:45 minor feature: MNT: remove no-network from args. Add badges to sidebar. one more mention of the John Hunter memorial fund changed to Technolo?. Add github information to index. update backend faq. Add links to requirements. MNT: remove unneeded webfont. DOC: use relative link to style banner page. DOC: add donation buttons to main page. DOC: style donate button. DOC: make travis badge a link. TST: skip on py2.6. DOC: put search back on index page sidebar. MNT: remove deprecated template code. DOC: tweak style a bit. TST/MNT: clean up imports in test_image. Revert "DOC: use relative link to style banner page". REL: v1.5.1.
1.5.1rc103 Jan 2016 13:25 minor feature: Auto-redraw using the object-oriented API. Most plotting functions now support labeled data API. Color cycling has extended to all style properties. Four new perceptually uniform color maps, including the soon-to-be default 'viridis'. More included style sheets. Many small plotting improvements. Proposed new framework for managing the GUI toolbar and tools.
1.5.030 Oct 2015 11:05 minor feature: Auto-redraw using the object-oriented API. Most plotting functions now support labeled data API. Color cycling has extended to all style properties. Four new perceptually uniform color maps, including the soon-to-be default 'viridis'. More included style sheets. Many small plotting improvements. Proposed new framework for managing the GUI toolbar and tools.
1.5.0rc323 Oct 2015 15:05 minor feature: Ing drawing of edge-only markers in AGG. Run-away memory usage when using inline or saving with a tight bounding box with QuadMesh artists. Improvements to wx and tk gui backends.
1.5.0rc203 Oct 2015 18:25 minor feature: Ing drawing of edge-only markers in AGG. Run-away memory usage when using inline or saving with a tight bounding box with QuadMesh artists. Improvements to wx and tk gui backends.
1.5.0rc115 Sep 2015 14:05 minor feature: Ing drawing of edge-only markers in AGG. Run-away memory usage when using inline or saving with a tight bounding box with QuadMesh artists. Improvements to wx and tk gui backends.
1.4.317 Feb 2015 05:05 minor feature: fixing drawing of edge-only markers in AGG fix run-away memory usage when using inline or saving with a tight bounding box with QuadMesh artists improvements to wx and tk gui backends
1.4.3rc103 Feb 2015 13:25 minor feature: regenerated pyplot.py
1.4.224 Oct 2014 17:25 minor bugfix: Order of includes fixed, PEP8 fix. Fix path clipping. Handle default in offset position correctly. Silence UniCode error in get_rotation.