From 9ee8cabb5bc21c01172ece4ba8444d5424face08 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 16 Jul 2020 16:53:10 -0400 Subject: [PATCH 01/15] Add Zenodo DOIs for 3.3.0. --- doc/_static/zenodo_cache/3898017.svg | 35 ++++++++++++++++++++++++++++ doc/_static/zenodo_cache/3948793.svg | 35 ++++++++++++++++++++++++++++ doc/citing.rst | 7 ++++-- tools/cache_zenodo_svg.py | 2 ++ 4 files changed, 77 insertions(+), 2 deletions(-) create mode 100644 doc/_static/zenodo_cache/3898017.svg create mode 100644 doc/_static/zenodo_cache/3948793.svg diff --git a/doc/_static/zenodo_cache/3898017.svg b/doc/_static/zenodo_cache/3898017.svg new file mode 100644 index 000000000000..b435f0e8316a --- /dev/null +++ b/doc/_static/zenodo_cache/3898017.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + DOI + + + DOI + + + 10.5281/zenodo.3898017 + + + 10.5281/zenodo.3898017 + + + \ No newline at end of file diff --git a/doc/_static/zenodo_cache/3948793.svg b/doc/_static/zenodo_cache/3948793.svg new file mode 100644 index 000000000000..f95c418b3e8b --- /dev/null +++ b/doc/_static/zenodo_cache/3948793.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + DOI + + + DOI + + + 10.5281/zenodo.3948793 + + + 10.5281/zenodo.3948793 + + + \ No newline at end of file diff --git a/doc/citing.rst b/doc/citing.rst index 325156219f1c..4b058dacf9d7 100644 --- a/doc/citing.rst +++ b/doc/citing.rst @@ -39,9 +39,12 @@ By version .. START OF AUTOGENERATED +v3.3.0 + .. image:: _static/zenodo_cache/3948793.svg + :target: https://doi.org/10.5281/zenodo.3948793 v3.2.2 - .. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3898017.svg - :target: https://doi.org/10.5281/zenodo.3898017 + .. image:: _static/zenodo_cache/3898017.svg + :target: https://doi.org/10.5281/zenodo.3898017 v3.2.1 .. image:: _static/zenodo_cache/3714460.svg :target: https://doi.org/10.5281/zenodo.3714460 diff --git a/tools/cache_zenodo_svg.py b/tools/cache_zenodo_svg.py index 6c8760b2635b..49ef96a8c20c 100644 --- a/tools/cache_zenodo_svg.py +++ b/tools/cache_zenodo_svg.py @@ -62,6 +62,8 @@ def _get_xdg_cache_dir(): if __name__ == "__main__": data = { + "v3.3.0": "3948793", + "v3.2.2": "3898017", "v3.2.1": "3714460", "v3.2.0": "3695547", "v3.1.3": "3633844", From 8994f1b6059edb5419d1bb06cd8ca30d2a6693f1 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 16 Jul 2020 17:59:04 -0400 Subject: [PATCH 02/15] DOC: Update GitHub stats again. --- doc/users/github_stats.rst | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst index 1ce53072e756..25c01f76fd88 100644 --- a/doc/users/github_stats.rst +++ b/doc/users/github_stats.rst @@ -7,10 +7,10 @@ GitHub stats for 2020/03/03 - 2020/07/16 (tag: v3.2.0) These lists are automatically generated, and may be incomplete or contain duplicates. -We closed 196 issues and merged 1066 pull requests. +We closed 198 issues and merged 1066 pull requests. The full list can be seen `on GitHub `__ -The following 144 authors contributed 3826 commits. +The following 144 authors contributed 3829 commits. * Adam * Adam Paszke @@ -1228,8 +1228,10 @@ Pull Requests (1066): * :ghpull:`15175`: Simplify pdf image output. * :ghpull:`7506`: [WIP] Add Axes method for drawing infinite lines. -Issues (196): +Issues (198): +* :ghissue:`16501`: Setting a thetalim > 2pi gives odd results +* :ghissue:`15035`: security exposure in the packaged jquery library * :ghissue:`10375`: Coordinate text wrapping in navigation toolbar * :ghissue:`10720`: Option to set the text color in legend to be same as the line * :ghissue:`17868`: plt.bar with nan input fails rendering in notebook using 3.3.0rc1 From 53d38e07790eec7fdaf88b7305ff5891f37e016d Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 17 Jul 2020 17:05:05 -0400 Subject: [PATCH 03/15] Backport PR #17949: examples: fix a few deprecated subplot specifiers. --- examples/axisartist/axis_direction_demo_step01.py | 2 +- examples/axisartist/axis_direction_demo_step02.py | 4 ++-- examples/axisartist/axis_direction_demo_step03.py | 4 ++-- examples/axisartist/axis_direction_demo_step04.py | 4 ++-- examples/axisartist/simple_axis_direction01.py | 2 +- examples/axisartist/simple_axis_direction03.py | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/axisartist/axis_direction_demo_step01.py b/examples/axisartist/axis_direction_demo_step01.py index df5d8e57017c..daf4508baa45 100644 --- a/examples/axisartist/axis_direction_demo_step01.py +++ b/examples/axisartist/axis_direction_demo_step01.py @@ -25,7 +25,7 @@ def setup_axes(fig, rect): fig = plt.figure(figsize=(3, 2.5)) fig.subplots_adjust(top=0.8) -ax1 = setup_axes(fig, "111") +ax1 = setup_axes(fig, 111) ax1.axis["x"].set_axis_direction("left") diff --git a/examples/axisartist/axis_direction_demo_step02.py b/examples/axisartist/axis_direction_demo_step02.py index de6a21df4283..bc8a8e652b03 100644 --- a/examples/axisartist/axis_direction_demo_step02.py +++ b/examples/axisartist/axis_direction_demo_step02.py @@ -28,13 +28,13 @@ def setup_axes(fig, rect): fig = plt.figure(figsize=(6, 2.5)) fig.subplots_adjust(bottom=0.2, top=0.8) -ax1 = setup_axes(fig, "121") +ax1 = setup_axes(fig, 121) ax1.axis["x"].set_ticklabel_direction("+") ax1.annotate("ticklabel direction=$+$", (0.5, 0), xycoords="axes fraction", xytext=(0, -10), textcoords="offset points", va="top", ha="center") -ax2 = setup_axes(fig, "122") +ax2 = setup_axes(fig, 122) ax2.axis["x"].set_ticklabel_direction("-") ax2.annotate("ticklabel direction=$-$", (0.5, 0), xycoords="axes fraction", xytext=(0, -10), textcoords="offset points", diff --git a/examples/axisartist/axis_direction_demo_step03.py b/examples/axisartist/axis_direction_demo_step03.py index 6b6d6a287462..b02962af8ebf 100644 --- a/examples/axisartist/axis_direction_demo_step03.py +++ b/examples/axisartist/axis_direction_demo_step03.py @@ -28,7 +28,7 @@ def setup_axes(fig, rect): fig = plt.figure(figsize=(6, 2.5)) fig.subplots_adjust(bottom=0.2, top=0.8) -ax1 = setup_axes(fig, "121") +ax1 = setup_axes(fig, 121) ax1.axis["x"].label.set_text("Label") ax1.axis["x"].toggle(ticklabels=False) ax1.axis["x"].set_axislabel_direction("+") @@ -36,7 +36,7 @@ def setup_axes(fig, rect): xytext=(0, -10), textcoords="offset points", va="top", ha="center") -ax2 = setup_axes(fig, "122") +ax2 = setup_axes(fig, 122) ax2.axis["x"].label.set_text("Label") ax2.axis["x"].toggle(ticklabels=False) ax2.axis["x"].set_axislabel_direction("-") diff --git a/examples/axisartist/axis_direction_demo_step04.py b/examples/axisartist/axis_direction_demo_step04.py index 25ea10c0cff8..5769f2934e76 100644 --- a/examples/axisartist/axis_direction_demo_step04.py +++ b/examples/axisartist/axis_direction_demo_step04.py @@ -29,7 +29,7 @@ def setup_axes(fig, rect): fig = plt.figure(figsize=(6, 2.5)) fig.subplots_adjust(bottom=0.2, top=0.8) -ax1 = setup_axes(fig, "121") +ax1 = setup_axes(fig, 121) ax1.axis["x1"].label.set_text("rotation=0") ax1.axis["x1"].toggle(ticklabels=False) @@ -41,7 +41,7 @@ def setup_axes(fig, rect): xytext=(0, -10), textcoords="offset points", va="top", ha="center") -ax2 = setup_axes(fig, "122") +ax2 = setup_axes(fig, 122) ax2.axis["x1"].set_axislabel_direction("-") ax2.axis["x2"].set_axislabel_direction("-") diff --git a/examples/axisartist/simple_axis_direction01.py b/examples/axisartist/simple_axis_direction01.py index 79d074b2d860..2240ceece7e0 100644 --- a/examples/axisartist/simple_axis_direction01.py +++ b/examples/axisartist/simple_axis_direction01.py @@ -8,7 +8,7 @@ import mpl_toolkits.axisartist as axisartist fig = plt.figure(figsize=(4, 2.5)) -ax1 = fig.add_subplot(axisartist.Subplot(fig, "111")) +ax1 = fig.add_subplot(axisartist.Subplot(fig, 111)) fig.subplots_adjust(right=0.8) ax1.axis["left"].major_ticklabels.set_axis_direction("top") diff --git a/examples/axisartist/simple_axis_direction03.py b/examples/axisartist/simple_axis_direction03.py index 5185d144ab1f..e9b758b15817 100644 --- a/examples/axisartist/simple_axis_direction03.py +++ b/examples/axisartist/simple_axis_direction03.py @@ -22,13 +22,13 @@ def setup_axes(fig, rect): fig = plt.figure(figsize=(5, 2)) fig.subplots_adjust(wspace=0.4, bottom=0.3) -ax1 = setup_axes(fig, "121") +ax1 = setup_axes(fig, 121) ax1.set_xlabel("X-label") ax1.set_ylabel("Y-label") ax1.axis[:].invert_ticklabel_direction() -ax2 = setup_axes(fig, "122") +ax2 = setup_axes(fig, 122) ax2.set_xlabel("X-label") ax2.set_ylabel("Y-label") From 030b93bc48b71673ac49c0444d50603c43a01c10 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 17 Jul 2020 20:27:03 -0400 Subject: [PATCH 04/15] Backport PR #17953: typo in 3.3 whatsnew: "computer visualization" -> "computer vision" --- doc/users/prev_whats_new/whats_new_3.3.0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/users/prev_whats_new/whats_new_3.3.0.rst b/doc/users/prev_whats_new/whats_new_3.3.0.rst index 00548791e722..b4008f111d64 100644 --- a/doc/users/prev_whats_new/whats_new_3.3.0.rst +++ b/doc/users/prev_whats_new/whats_new_3.3.0.rst @@ -153,7 +153,7 @@ Turbo colormap -------------- Turbo is an improved rainbow colormap for visualization, created by the Google -AI team for computer visualization and machine learning. Its purpose is to +AI team for computer vision and machine learning. Its purpose is to display depth and disparity data. Please see the `Google AI Blog `_ for further details. From cc9c9ab1fb6d08367bc5ec58fb4e400856cbcf6f Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 25 Jul 2020 18:00:02 +0200 Subject: [PATCH 05/15] Backport PR #18055: Fix link to get_offsets in hexbin doc --- lib/matplotlib/axes/_axes.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 34a6e5b877f4..f79c28dd2fe3 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4597,7 +4597,7 @@ def hexbin(self, x, y, C=None, gridsize=100, bins=None, `~matplotlib.collections.PolyCollection` A `.PolyCollection` defining the hexagonal bins. - - `.PolyCollection.get_offset` contains a Mx2 array containing + - `.PolyCollection.get_offsets` contains a Mx2 array containing the x, y positions of the M hexagon centers. - `.PolyCollection.get_array` contains the values of the M hexagons. From 435e86f20b141f147240f70403d76128ae9d19fb Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 25 Jul 2020 18:21:49 +0200 Subject: [PATCH 06/15] Backport PR #18059: Added figpager info --- doc/_static/figpager.png | Bin 0 -> 50785 bytes doc/thirdpartypackages/index.rst | 8 ++++++++ 2 files changed, 8 insertions(+) create mode 100644 doc/_static/figpager.png diff --git a/doc/_static/figpager.png b/doc/_static/figpager.png new file mode 100644 index 0000000000000000000000000000000000000000..fee0859771276804e4fc818e6c508946b4662ac2 GIT binary patch literal 50785 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 z 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 e0RR910QfMp!2nk5Z)-RJ0000`_ 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 ===== From a2801149d394c7b78b53f448d7adef47237ac04c Mon Sep 17 00:00:00 2001 From: Ryan May Date: Tue, 28 Jul 2020 16:45:01 -0600 Subject: [PATCH 07/15] Backport PR #18094: Fix example code for enabling logging in API change notice --- doc/api/prev_api_changes/api_changes_3.1.0.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/doc/api/prev_api_changes/api_changes_3.1.0.rst b/doc/api/prev_api_changes/api_changes_3.1.0.rst index 90d4fc3548bd..2c0f629729db 100644 --- a/doc/api/prev_api_changes/api_changes_3.1.0.rst +++ b/doc/api/prev_api_changes/api_changes_3.1.0.rst @@ -531,7 +531,11 @@ The following miscellaneous API elements have been removed import logging logger = logging.getLogger('matplotlib') - logger.set_level(logging.INFO) + logger.setLevel(logging.INFO) + # configure log handling: Either include it into your ``logging`` hierarchy, + # e.g. by configuring a root looger using ``logging.basicConfig()``, + # or add a standalone handler to the matplotlib logger: + logger.addHandler(logging.StreamHandler()) - ``__version__numpy__`` - ``collections.CIRCLE_AREA_FACTOR`` From ec07182d9c1577e3c5e4e3a76b8cecec0a2f1bfa Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Tue, 28 Jul 2020 17:18:04 -0700 Subject: [PATCH 08/15] Backport PR #18100: DOC: update tight layout guide with set_in_layout --- tutorials/intermediate/tight_layout_guide.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/tutorials/intermediate/tight_layout_guide.py b/tutorials/intermediate/tight_layout_guide.py index b1b047a3e7d3..03c8ebc417a3 100644 --- a/tutorials/intermediate/tight_layout_guide.py +++ b/tutorials/intermediate/tight_layout_guide.py @@ -152,18 +152,17 @@ def example_plot(ax, fontsize=12): # Caveats # ======= # -# * :func:`~matplotlib.pyplot.tight_layout` only considers ticklabels, axis -# labels, and titles. Thus, other artists may be clipped and also may -# overlap. +# * `~matplotlib.pyplot.tight_layout` considers all artists on the axes by +# default. To remove an artist from the layout calculation you can call +# `.Artist.set_in_layout`. # -# * It assumes that the extra space needed for ticklabels, axis labels, -# and titles is independent of original location of axes. This is -# often true, but there are rare cases where it is not. +# * ``tight_layout`` assumes that the extra space needed for artists is +# independent of the original location of axes. This is often true, but there +# are rare cases where it is not. # -# * pad=0 clips some of the texts by a few pixels. This may be a bug or -# a limitation of the current algorithm and it is not clear why it -# happens. Meanwhile, use of pad at least larger than 0.3 is -# recommended. +# * ``pad=0`` can clip some texts by a few pixels. This may be a bug or +# a limitation of the current algorithm and it is not clear why it +# happens. Meanwhile, use of pad larger than 0.3 is recommended. # # Use with GridSpec # ================= From 63ddc751cf754b45d6c0fe0294fb1aecb79c2805 Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Wed, 29 Jul 2020 15:03:46 +0200 Subject: [PATCH 09/15] Backport PR #17947: DOC: don't make CL tutorial save new file all the time --- .gitignore | 1 + doc/_static/constrained_layout/CL00.png | Bin 38548 -> 0 bytes doc/_static/constrained_layout/CL01.png | Bin 10554 -> 0 bytes doc/_static/constrained_layout/CL02.png | Bin 10503 -> 0 bytes .../intermediate/constrainedlayout_guide.py | 10 ++++++---- 5 files changed, 7 insertions(+), 4 deletions(-) delete mode 100644 doc/_static/constrained_layout/CL00.png delete mode 100644 doc/_static/constrained_layout/CL01.png delete mode 100644 doc/_static/constrained_layout/CL02.png diff --git a/.gitignore b/.gitignore index 9634a3939793..ee4a0eb7aef6 100644 --- a/.gitignore +++ b/.gitignore @@ -79,6 +79,7 @@ examples/*/*.svgz examples/tests/* !examples/tests/backend_driver_sgskip.py result_images +doc/_static/constrained_layout*.png # Nose/Pytest generated files # ############################### diff --git a/doc/_static/constrained_layout/CL00.png b/doc/_static/constrained_layout/CL00.png deleted file mode 100644 index 5963429df0f8d7651ca6ccd57ff89d46b6384487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38548 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 LtI3tgng;(L=&-U4 diff --git a/tutorials/intermediate/constrainedlayout_guide.py b/tutorials/intermediate/constrainedlayout_guide.py index 1975153db181..2722f71957ac 100644 --- a/tutorials/intermediate/constrainedlayout_guide.py +++ b/tutorials/intermediate/constrainedlayout_guide.py @@ -229,12 +229,13 @@ def example_plot(ax, fontsize=12, hide_labels=False): leg.set_in_layout(True) # we don't want the layout to change at this point. fig.set_constrained_layout(False) -fig.savefig('CL01.png', bbox_inches='tight', dpi=100) +fig.savefig('../../doc/_static/constrained_layout_1b.png', + bbox_inches='tight', dpi=100) ############################################# # The saved file looks like: # -# .. image:: /_static/constrained_layout/CL01.png +# .. image:: /_static/constrained_layout_1b.png # :align: center # # A better way to get around this awkwardness is to simply @@ -245,12 +246,13 @@ def example_plot(ax, fontsize=12, hide_labels=False): labels = [l.get_label() for l in lines] leg = fig.legend(lines, labels, loc='center left', bbox_to_anchor=(0.8, 0.5), bbox_transform=axs[1].transAxes) -fig.savefig('CL02.png', bbox_inches='tight', dpi=100) +fig.savefig('../../doc/_static/constrained_layout_2b.png', + bbox_inches='tight', dpi=100) ############################################# # The saved file looks like: # -# .. image:: /_static/constrained_layout/CL02.png +# .. image:: /_static/constrained_layout_2b.png # :align: center # From 18e98b1e64f41f7e9ed0bfbbfe1b523c8915d85e Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Wed, 29 Jul 2020 07:16:25 -0700 Subject: [PATCH 10/15] Backport PR #18115: fix typo in Poly3DCollection docstring --- lib/mpl_toolkits/mplot3d/art3d.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/mpl_toolkits/mplot3d/art3d.py b/lib/mpl_toolkits/mplot3d/art3d.py index 5ea30204db64..9aa066a37d91 100644 --- a/lib/mpl_toolkits/mplot3d/art3d.py +++ b/lib/mpl_toolkits/mplot3d/art3d.py @@ -571,7 +571,7 @@ def __init__(self, verts, *args, zsort='average', **kwargs): Parameters ---------- verts : list of array-like Nx3 - Each element describes a polygon as a sequnce of ``N_i`` points + Each element describes a polygon as a sequence of ``N_i`` points ``(x, y, z)``. zsort : {'average', 'min', 'max'}, default: 'average' The calculation method for the z-order. From b0137e97064fc155a0514f8530ae7916993650db Mon Sep 17 00:00:00 2001 From: Jody Klymak Date: Sun, 2 Aug 2020 07:59:38 -0700 Subject: [PATCH 11/15] Backport PR #18149: DOC: fix align_xlabels() typo --- lib/matplotlib/figure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/figure.py b/lib/matplotlib/figure.py index 2783666f1ed4..8fb0f4ad2909 100644 --- a/lib/matplotlib/figure.py +++ b/lib/matplotlib/figure.py @@ -2618,7 +2618,7 @@ def tight_layout(self, renderer=None, pad=1.08, h_pad=None, w_pad=None, def align_xlabels(self, axs=None): """ - Align the ylabels of subplots in the same subplot column if label + Align the xlabels of subplots in the same subplot column if label alignment is being done automatically (i.e. the label position is not manually set). From b5cf43b8ddb5adfe597f90877ab2d038f6e13272 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Fri, 31 Jul 2020 00:06:08 -0400 Subject: [PATCH 12/15] Update exclude_patterns for moved API/what's new. --- doc/conf.py | 6 +++++- doc/users/whats_new.rst | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/conf.py b/doc/conf.py index 820b0fb3be9f..7da2dc80df6a 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -58,7 +58,11 @@ 'sphinx_copybutton', ] -exclude_patterns = ['api/api_changes/*', 'users/whats_new/*'] +exclude_patterns = [ + 'api/prev_api_changes/api_changes_*/*', + # Be sure to update users/whats_new.rst: + 'users/prev_whats_new/whats_new_3.3.0.rst', +] def _check_dependencies(): diff --git a/doc/users/whats_new.rst b/doc/users/whats_new.rst index 46cbc5022063..4131fccde0ba 100644 --- a/doc/users/whats_new.rst +++ b/doc/users/whats_new.rst @@ -25,4 +25,5 @@ What's new? next_whats_new/* +.. Be sure to update the version in `exclude_patterns` in conf.py. .. include:: prev_whats_new/whats_new_3.3.0.rst From 4bab03e07ddb3055fc2f31054583086c74ba7f3b Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 13 Aug 2020 16:31:37 -0400 Subject: [PATCH 13/15] Move API changes to correct file. --- doc/api/api_changes.rst | 1 + doc/api/api_changes_3.4/deprecations.rst | 17 -------------- .../prev_api_changes/api_changes_3.3.1.rst | 22 +++++++++++++++++++ doc/conf.py | 1 + 4 files changed, 24 insertions(+), 17 deletions(-) create mode 100644 doc/api/prev_api_changes/api_changes_3.3.1.rst diff --git a/doc/api/api_changes.rst b/doc/api/api_changes.rst index d30baaf2ad06..b4a66bda5c4a 100644 --- a/doc/api/api_changes.rst +++ b/doc/api/api_changes.rst @@ -35,4 +35,5 @@ added to Matplotlib, see :ref:`whats-new` api_changes_3.4/* +.. include:: prev_api_changes/api_changes_3.3.1.rst .. include:: prev_api_changes/api_changes_3.3.0.rst diff --git a/doc/api/api_changes_3.4/deprecations.rst b/doc/api/api_changes_3.4/deprecations.rst index e1943c7c4d87..097ecfda3a6e 100644 --- a/doc/api/api_changes_3.4/deprecations.rst +++ b/doc/api/api_changes_3.4/deprecations.rst @@ -1,19 +1,2 @@ Deprecations ------------ - -Reverted deprecation of ``num2epoch`` and ``epoch2num`` -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -These two functions were deprecated in 3.3.0, and did not return -an accurate Matplotlib datenum relative to the new Matplotlib epoch -handling (`~.dates.get_epoch` and :rc:`date.epoch`). This version -reverts the deprecation. - -Functions ``epoch2num`` and ``dates.julian2num`` use ``date.epoch`` rcParam -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Now `~.dates.epoch2num` and (undocumented) ``julian2num`` return floating point -days since `~.dates.get_epoch` as set by :rc:`date.epoch`, instead of -floating point days since the old epoch of "0000-12-31T00:00:00". If -needed, you can translate from the new to old values as -``old = new + mdates.date2num(np.datetime64('0000-12-31'))`` diff --git a/doc/api/prev_api_changes/api_changes_3.3.1.rst b/doc/api/prev_api_changes/api_changes_3.3.1.rst new file mode 100644 index 000000000000..b3383a4e5fd2 --- /dev/null +++ b/doc/api/prev_api_changes/api_changes_3.3.1.rst @@ -0,0 +1,22 @@ +API Changes for 3.3.1 +===================== + +Deprecations +------------ + +Reverted deprecation of ``num2epoch`` and ``epoch2num`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +These two functions were deprecated in 3.3.0, and did not return +an accurate Matplotlib datenum relative to the new Matplotlib epoch +handling (`~.dates.get_epoch` and :rc:`date.epoch`). This version +reverts the deprecation. + +Functions ``epoch2num`` and ``dates.julian2num`` use ``date.epoch`` rcParam +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Now `~.dates.epoch2num` and (undocumented) ``julian2num`` return floating point +days since `~.dates.get_epoch` as set by :rc:`date.epoch`, instead of +floating point days since the old epoch of "0000-12-31T00:00:00". If +needed, you can translate from the new to old values as +``old = new + mdates.date2num(np.datetime64('0000-12-31'))`` diff --git a/doc/conf.py b/doc/conf.py index 7da2dc80df6a..00eca945f82d 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -62,6 +62,7 @@ 'api/prev_api_changes/api_changes_*/*', # Be sure to update users/whats_new.rst: 'users/prev_whats_new/whats_new_3.3.0.rst', + 'users/prev_whats_new/whats_new_3.3.1.rst', ] From 43e36f2c1da4dd781c875fb933d33cdf1fa90254 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 13 Aug 2020 18:17:26 -0400 Subject: [PATCH 14/15] Update GitHub stats for 3.3.1. --- doc/users/github_stats.rst | 1521 ++--------------- .../prev_whats_new/github_stats_3.3.0.rst | 1430 ++++++++++++++++ 2 files changed, 1544 insertions(+), 1407 deletions(-) create mode 100644 doc/users/prev_whats_new/github_stats_3.3.0.rst diff --git a/doc/users/github_stats.rst b/doc/users/github_stats.rst index 25c01f76fd88..96c4c3613e29 100644 --- a/doc/users/github_stats.rst +++ b/doc/users/github_stats.rst @@ -3,1431 +3,138 @@ GitHub Stats ============ -GitHub stats for 2020/03/03 - 2020/07/16 (tag: v3.2.0) +GitHub stats for 2020/07/16 - 2020/08/13 (tag: v3.3.0) These lists are automatically generated, and may be incomplete or contain duplicates. -We closed 198 issues and merged 1066 pull requests. -The full list can be seen `on GitHub `__ +We closed 25 issues and merged 73 pull requests. +The full list can be seen `on GitHub `__ -The following 144 authors contributed 3829 commits. +The following 17 authors contributed 131 commits. -* Adam -* Adam Paszke -* Adam Ruszkowski -* Alex Henrie -* Alexander Rudy -* Amy Roberts -* andrzejnovak * Antony Lee -* Ardie Orden -* Asaf Maman -* Avni Sharma * Ben Root * Bruno Beltran -* Bruno Pagani -* chaoyi1 -* Cho Yin Yong -* Chris -* Christoph Pohl -* Cimarron Mittelsteadt -* Clemens Brunner -* Dan Hickstein -* Dan Stromberg -* David Chudzicki * David Stansby -* Dennis Tismenko -* Dominik Schmidt -* donchanee -* Dora Fraeman Caswell -* Edoardo Pizzigoni -* Elan Ernest * Elliott Sales de Andrade -* Emlyn Price -* Eric Firing -* Eric Larson -* Eric Relson -* Eric Wieser -* Fabien Maussion -* Frank Sauerburger -* Gal Avineri -* Generated images -* Georg Raiser -* Gina -* Greg Lucas -* hannah -* Hanno Rein -* Harshal Prakash Patankar -* henryhu123 -* Hugo van Kemenade -* Ian Hincks -* ImportanceOfBeingErnest -* Inception95 -* Ingo Fründ -* Jake Lee -* Javad +* Isuru Fernando * jbhopkins -* Jeroonk -* jess -* Jess Tiu -* jfbu -* Jiahao Chen * Jody Klymak -* Jon Haitz Legarreta Gorroño -* Jose Manuel Martí -* Joshua Taillon -* Juanjo Bazán -* Julian Mehne -* Kacper Kowalik (Xarthisius) -* Kevin Mader -* kolibril13 -* kopytjuk -* ksafran -* Kyle Sunden -* Larry Bradley -* Laurent Thomas -* Lawrence D'Anna -* Leo Singer -* lepuchi -* Luke Davis -* Manan Kevadiya -* Manuel Nuno Melo -* Maoz Gelbart -* Marat K -* Marco Gorelli -* Matt Newville -* Matthias Bussonnier -* Max -* Max Chen -* Max Humber -* Maximilian Nöthe -* Michaël Defferrard -* Michele Mastropietro -* mikhailov -* MuhammadFarooq1234 -* Mykola Dvornik -* Nelle Varoquaux -* Nelson Darkwah Oppong -* Nick Pope -* Nico Schlömer -* Nikita Kniazev -* Olivier Castany -* Omar Chehab -* Paul Gierz -* Paul Hobson -* Paul Ivanov -* Pavel Fedin -* Peter Würtz -* Philippe Pinard -* pibion -* Po -* Pradeep Reddy Raamana -* Ram Rachum -* ranjanm -* Raphael -* Ricardo Mendes -* Riccardo Di Maio +* Jouni K. Seppänen +* Lee Johnston +* linchiwei123 +* Neilzon Viloria * Ryan May -* Sadie Louise Bartholomew -* Sairam Pillai -* Samesh Lakhotia -* SamSchott -* Sandro Tosi -* Siddhesh Poyarekar -* Sidharth Bansal -* Snowhite -* SojiroFukuda -* Spencer McCoubrey -* Stefan Mitic -* Stephane Raynaud -* Steven G. Johnson -* Steven Munn -* Ted Drain -* Terence Honles * Thomas A Caswell -* Thomas Robitaille -* Till Stensitzki * Tim Hoffmann -* Todd Jennings -* Tyrone Xiong -* Umar Javed -* Venkada -* vishalBindal -* Vitaly Buka -* Yue Zhihan -* Zulko +* Tom Neep +* Yichao Yu GitHub issues and pull requests: -Pull Requests (1066): - -* :ghpull:`17943`: Backport PR #17942 on branch v3.3.x (Increase heading level for 3.3 What's New) -* :ghpull:`17942`: Increase heading level for 3.3 What's New -* :ghpull:`17941`: Backport PR #17938 on branch v3.3.x (Don't allow 1D lists as subplot_moasic layout.) -* :ghpull:`17940`: Backport PR #17885 on branch v3.3.x (BF: ignore CLOSEPOLY after NaN in PathNanRemover) -* :ghpull:`17937`: Backport PR #17877 on branch v3.3.x (Fix drawing zoom rubberband on GTK backends.) -* :ghpull:`17938`: Don't allow 1D lists as subplot_moasic layout. -* :ghpull:`17885`: BF: ignore CLOSEPOLY after NaN in PathNanRemover -* :ghpull:`17877`: Fix drawing zoom rubberband on GTK backends. -* :ghpull:`17933`: Backport PR #17858 on branch v3.3.x (Refresh what's new page for 3.3.0) -* :ghpull:`17858`: Refresh what's new page for 3.3.0 -* :ghpull:`17919`: Backport PR #17913 on branch v3.3.x (Revert using SVG inheritance diagrams) -* :ghpull:`17913`: Revert using SVG inheritance diagrams -* :ghpull:`17911`: Backport PR #17907 on branch v3.3.x (Fix release() method name in macosx backend) -* :ghpull:`17907`: Fix release() method name in macosx backend -* :ghpull:`17903`: Backport PR #17859 on branch v3.3.x (API: resolve unset vmin / vmax in all ScalarMapple based methods) -* :ghpull:`17859`: API: resolve unset vmin / vmax in all ScalarMapple based methods -* :ghpull:`17898`: Backport PR #17882 on branch v3.3.x (Fix FFMpegBase.isAvailable with detached terminals.) -* :ghpull:`17882`: Fix FFMpegBase.isAvailable with detached terminals. -* :ghpull:`17881`: Backport PR #17871 on branch v3.3.x (Mention single char colors shading in more places) -* :ghpull:`17871`: Mention single char colors shading in more places -* :ghpull:`17872`: Backport PR #17800 on branch v3.3.x (Increase tolerance for alternate architectures) -* :ghpull:`17800`: Increase tolerance for alternate architectures -* :ghpull:`17861`: Revert "Fix linewidths and colors for scatter() with unfilled markers" -* :ghpull:`17864`: Backport PR #17862 on branch v3.3.x (CI: Install, or upgrade, Python 3 on homebrew.) -* :ghpull:`17846`: Backport PR #17844 on branch v3.3.x (Explain why Qt4 backends are deprecated) -* :ghpull:`17844`: Explain why Qt4 backends are deprecated -* :ghpull:`17833`: Backport PR #17831 on branch v3.3.x (BLD: default to system freetype on AIX) -* :ghpull:`17831`: BLD: default to system freetype on AIX -* :ghpull:`17823`: Backport PR #17821 on branch v3.3.x (FIX: Keep lists of lists of one scalar each 2D in _reshape_2D) -* :ghpull:`17821`: FIX: Keep lists of lists of one scalar each 2D in _reshape_2D -* :ghpull:`17811`: Backport PR #17797 on branch v3.3.x (Fix running contour's test_internal_cpp_api directly.) -* :ghpull:`17812`: Backport PR #17772 on branch v3.3.x (Partially fix rubberbanding in GTK3.) -* :ghpull:`17815`: Backport PR #17814 on branch v3.3.x (Don't duplicate deprecated parameter addendum.) -* :ghpull:`17814`: Don't duplicate deprecated parameter addendum. -* :ghpull:`17772`: Partially fix rubberbanding in GTK3. -* :ghpull:`17797`: Fix running contour's test_internal_cpp_api directly. -* :ghpull:`17809`: Backport PR #17801 on branch v3.3.x (BUG: Fix implementation of _is_closed_polygon) -* :ghpull:`17801`: BUG: Fix implementation of _is_closed_polygon -* :ghpull:`17796`: Backport PR #17764 on branch v3.3.x (FIX: be more careful about not importing pyplot early) -* :ghpull:`17795`: Backport PR #17781 on branch v3.3.x (Fix limit setting after plotting empty data) -* :ghpull:`17764`: FIX: be more careful about not importing pyplot early -* :ghpull:`17781`: Fix limit setting after plotting empty data -* :ghpull:`17787`: Backport PR #17784 on branch v3.3.x (Allow passing emtpy list of ticks to FixedLocator) -* :ghpull:`17784`: Allow passing empty list of ticks to FixedLocator -* :ghpull:`17766`: Backport PR #17752 on branch v3.3.x (Numpydoc-ify various functions) -* :ghpull:`17752`: Numpydoc-ify various functions -* :ghpull:`17762`: Backport PR #17742 on branch v3.3.x (Update tricontour[f] docs) -* :ghpull:`17742`: Update tricontour[f] docs -* :ghpull:`17760`: Backport PR #17756 on branch v3.3.x (Fix tk tooltips for dark themes.) -* :ghpull:`17756`: Fix tk tooltips for dark themes. -* :ghpull:`17747`: Backport PR #17731 on branch v3.3.x ("Fix" tight_layout for template backend.) -* :ghpull:`17731`: "Fix" tight_layout for template backend. -* :ghpull:`17739`: Backport PR #17734 on branch v3.3.x (Oversample thumbnail x2) -* :ghpull:`17734`: Oversample thumbnail x2 -* :ghpull:`17738`: Backport PR #17729 on branch v3.3.x (Fix type doc for scroll event "step" attribute.) -* :ghpull:`17729`: Fix type doc for scroll event "step" attribute. -* :ghpull:`17724`: Backport PR #17720 on branch v3.3.x (Fix check for manager = None.) -* :ghpull:`17720`: Fix check for manager = None. -* :ghpull:`17719`: Backport PR #17693 on branch v3.3.x (DOC: Add svg2pdf converter for generating PDF docs.) -* :ghpull:`17693`: DOC: Add svg2pdf converter for generating PDF docs. -* :ghpull:`17718`: Backport PR #17715 on branch v3.3.x (Clarify gridspec error message for non-integer inputs.) -* :ghpull:`17717`: Backport PR #17705 on branch v3.3.x (Keep cachedRenderer as None when pickling Figure.) -* :ghpull:`17715`: Clarify gridspec error message for non-integer inputs. -* :ghpull:`17705`: Keep cachedRenderer as None when pickling Figure. -* :ghpull:`17701`: Backport PR #17687 on branch v3.3.x (Mention keyboard modifiers in toolbar tooltip texts.) -* :ghpull:`17687`: Mention keyboard modifiers in toolbar tooltip texts. -* :ghpull:`17698`: Backport PR #17686 on branch v3.3.x (Fix tooltip for wx toolbar.) -* :ghpull:`17686`: Fix tooltip for wx toolbar. -* :ghpull:`17692`: Backport PR #17680 on branch v3.3.x (MNT: migrate away from deprecated c-api) -* :ghpull:`17680`: MNT: migrate away from deprecated c-api -* :ghpull:`17688`: Backport PR #17676 on branch v3.3.x (FIX: correctly process the tick label size) -* :ghpull:`17676`: FIX: correctly process the tick label size -* :ghpull:`17677`: Backport PR #17664 on branch v3.3.x (Clarify docs of AutoDateLocator.intervald) -* :ghpull:`17678`: Backport PR #17665 on branch v3.3.x (Document that some single char colors are shaded) -* :ghpull:`17679`: Backport PR #17675 on branch v3.3.x (DOC: specify that the LaTeX installation needs to include cm-super) -* :ghpull:`17675`: DOC: specify that the LaTeX installation needs to include cm-super -* :ghpull:`17665`: Document that some single char colors are shaded -* :ghpull:`17664`: Clarify docs of AutoDateLocator.intervald -* :ghpull:`17672`: Backport PR #17668 on branch v3.3.x (Don't pass "wrong" ``indent=False`` in SVG generation.) -* :ghpull:`17671`: Backport PR #17667 on branch v3.3.x (Don't linewrap css in svg header.) -* :ghpull:`17668`: Don't pass "wrong" ``indent=False`` in SVG generation. -* :ghpull:`17667`: Don't linewrap css in svg header. -* :ghpull:`17666`: Prepare for 3.3.0 rc1 -* :ghpull:`17663`: DOC: update the gh stats for v3.3.0 -* :ghpull:`17656`: Fix default colouring of Shadows -* :ghpull:`17657`: V3.2.x mergeup -* :ghpull:`17623`: Add a flag for disabling LTO. -* :ghpull:`17569`: Delay \usepackage{textcomp} until after the custom tex preamble. -* :ghpull:`17416`: Reorder NavigationToolbar2 methods. -* :ghpull:`17604`: DOC: Clarify offset notation and scientific notation -* :ghpull:`17617`: Rewrite pdf test to use check_figures_equal. -* :ghpull:`17654`: Small fixes to recent What's New -* :ghpull:`17649`: MNT: make _setattr_cm more forgiving -* :ghpull:`17644`: Doc 33 whats new consolidation -* :ghpull:`17647`: Fix example in docstring of cbook._unfold. -* :ghpull:`10187`: DOC: add a blitting tutorial -* :ghpull:`17471`: Removed idiomatic constructs from interactive figures docs -* :ghpull:`17639`: DOC: Update colormap deprecation warning to use Python's copy function. -* :ghpull:`17223`: Warn on invalid savefig keyword arguments -* :ghpull:`17625`: Give _DummyAxis instances a __name__ -* :ghpull:`17636`: Fix image vlim clipping again -* :ghpull:`17635`: Fix autoscaling with tiny sticky values. -* :ghpull:`17620`: MNT: make _setattr_cm more conservative -* :ghpull:`17621`: FIX: restore ability to pass a tuple to axes_class in axes_grid -* :ghpull:`16603`: axes collage -* :ghpull:`17622`: Fix typo in description of savefig.bbox. -* :ghpull:`17619`: Skip test_tmpconfigdir_warning when running as root. -* :ghpull:`17610`: MNT: allow 0 sized figures -* :ghpull:`17163`: Fix clipping of markers in PDF backend. -* :ghpull:`17556`: DOC: Update contributor listing in credits -* :ghpull:`17221`: Add metadata saving support to SVG. -* :ghpull:`17603`: Replace image comparison in test_axes_grid1 by geometry checks. -* :ghpull:`17428`: Doc start 33 merges -* :ghpull:`17607`: Convert adjust_bbox to use ExitStack. -* :ghpull:`17575`: DOCS: update collections.py docstrings to current doc conventions -* :ghpull:`15826`: Fix bar3d bug with matching color string and array x lengths -* :ghpull:`14507`: Simplify handling of Qt modifier keys. -* :ghpull:`17589`: Fix doc build with Sphinx < 3. -* :ghpull:`17590`: Clarify docs of set_powerlimits() -* :ghpull:`17597`: MNT: cleanup minor style issues -* :ghpull:`17183`: Update configuration of CircleCI builds -* :ghpull:`17592`: Improve docstrings of ScalarFormatter -* :ghpull:`17456`: Improve stackplot example -* :ghpull:`17545`: Improve docs of markers -* :ghpull:`17233`: Improve PDF metadata support in PGF -* :ghpull:`17086`: Remove jQuery & jQuery UI -* :ghpull:`17580`: Fix same_color() for 'none' color -* :ghpull:`17582`: Fix link in doc -* :ghpull:`17491`: DOC: Only link to overall Zenodo DOI. -* :ghpull:`17515`: FIX: add set_box_aspect, improve tight bounding box for Axes3D + fix bbox_inches support with fixed box_aspect -* :ghpull:`17581`: DOC: Remove duplicate Returns in subplot2grid. -* :ghpull:`17550`: Update subplot2grid doc to use Figure.add_gridspec, not GridSpec. -* :ghpull:`17544`: markerfacecolor should not override fillstyle='none' in plot() -* :ghpull:`15672`: Remove mention that tkagg was derived from PIL. -* :ghpull:`17573`: Examples: fix formatting issue in 'Errorbar limit selection' -* :ghpull:`17543`: Fix linewidths and colors for scatter() with unfilled markers -* :ghpull:`17448`: Add example for drawing an error band around a curve -* :ghpull:`17572`: Examples: clarity for 'set and get' example page -* :ghpull:`17276`: Allow numpy arrays in markevery -* :ghpull:`17536`: Consolidate some tests and fix a couple typos -* :ghpull:`17558`: Simplify plot_date() -* :ghpull:`17534`: Fmaussion extended boundary norm -* :ghpull:`17540`: Fix help window on GTK. -* :ghpull:`17535`: Update docs on subplot2grid / SubplotBase -* :ghpull:`17510`: Fix exception handling in FT2Font init. -* :ghpull:`16953`: Changed 'colors' paramater in PyPlot vlines/hlines and Axes vlines/hlines to default to configured rcParams 'lines.color' option -* :ghpull:`17459`: Use light icons on dark themes for wx and gtk, too. -* :ghpull:`17539`: Use symbolic icons for buttons in GTK toolbar. -* :ghpull:`15435`: Reuse png metadata handling of imsave() in FigureCanvasAgg.print_png(). -* :ghpull:`5034`: New "extend" keyword to colors.BoundaryNorm -* :ghpull:`17532`: DOC: correct legend.title_fontsize docstring -* :ghpull:`17531`: Remove unneeded check/comment re: multiprocessing in setup.py. -* :ghpull:`17522`: Privatize ttconv module. -* :ghpull:`17517`: Make sure _parent is in sync with Qt parent in NavigationToolbar2QT -* :ghpull:`17525`: DOC/API: set __qualname__ when using class factory -* :ghpull:`17511`: Fix offset legend tightbbox -* :ghpull:`16203`: Port fontconfig's font weight detection to font_manager. -* :ghpull:`17485`: Support marking a single artist as not-usetex. -* :ghpull:`17338`: Support url on more Artists in svg -* :ghpull:`17519`: Prefer demo'ing rcParams rather than rc in examples. -* :ghpull:`13457`: Give ``AnnotationBbox`` an opinion about its extent -* :ghpull:`15037`: Simplifications to errorbar(). -* :ghpull:`17493`: Update SVGs that use interpolation='none'. -* :ghpull:`15221`: Don't fallback to agg in tight_layout.get_renderer. -* :ghpull:`17512`: DOC: remove inkscape restriction in doc -* :ghpull:`17484`: Deprecate ismath parameter to draw_tex and ismath="TeX!". -* :ghpull:`17492`: Correctly set default linewidth for unfilled markers. -* :ghpull:`16908`: Adding 2d support to quadmesh set_array -* :ghpull:`17506`: Fix dicts unpacking for ``.plot`` -* :ghpull:`17496`: Fix some incorrect image clipping -* :ghpull:`17340`: convert some sample plots to use plt.subplots() instead of other methods -* :ghpull:`17504`: Undocument parameter orientation of bar() -* :ghpull:`13884`: Add some documentation for axisartist's ExtremeFinder, plus some cleanups. -* :ghpull:`17495`: Fix Pillow import in testing. -* :ghpull:`17462`: Inline FigureCanvasGtkFoo._render_figure. -* :ghpull:`17474`: Numpydocify RectangleSelector docstring. -* :ghpull:`17003`: Optimize extensions with LTO and hidden visibility -* :ghpull:`17489`: BUG: Picking vertical line broken -* :ghpull:`17486`: Simplify handling of fontproperties=None. -* :ghpull:`17478`: Add support for blitting in qt5cairo. -* :ghpull:`15641`: Make get_sample_data autoload npy/npz files. -* :ghpull:`17481`: Fix LightSource.shade on fully unmasked array. -* :ghpull:`17289`: Prepare for ragged array warnings in NumPy 1.19 -* :ghpull:`17358`: Fix masked CubicTriInterpolator -* :ghpull:`17477`: DOC: Use Sphinx-gallery animation capture -* :ghpull:`17482`: Shorten RectangleSelector._release. -* :ghpull:`17475`: Cleanup RectangleSelector example. -* :ghpull:`17461`: Deprecate the private FigureCanvasGTK3._renderer_init. -* :ghpull:`17464`: Fold _make_nseq_validator into _listify_validator. -* :ghpull:`17469`: Use qVersion, not QT_VERSION_STR -- the latter doesn't exist in PySide2. -* :ghpull:`4779`: DOC: Start to document interactive figures -* :ghpull:`17458`: Cleanup C++ code -* :ghpull:`17466`: DOC: clarify that milestones are intentions not approvals -* :ghpull:`17062`: Fix to "exported SVG files blurred in viewers" -* :ghpull:`17443`: Fix rcParams validator for dashes. -* :ghpull:`17350`: Move integerness checks to SubplotSpec._from_subplot_args. -* :ghpull:`17444`: Support odd-length dash patterns in Agg. -* :ghpull:`17405`: Show the failing line in bad-rcparams warnings. -* :ghpull:`17452`: Make validate_date throw ValueError, not RuntimeError. -* :ghpull:`17439`: Remove comment re: validation of datetime format strings. -* :ghpull:`17438`: Discourage use of proprietary Matplotlib names for freetype hinting -* :ghpull:`16990`: update testing helpers -* :ghpull:`16340`: Make set_x/ymargin() update axes limits, just like margins(). -* :ghpull:`15029`: Get default params from matplotlibrc.template. -* :ghpull:`17363`: Fix toolbar separators in wx+toolmanager. -* :ghpull:`17348`: Avoid creating a Tick in Axis.get_tick_space. -* :ghpull:`15725`: Changed line color of boxplot for dark_background -* :ghpull:`17362`: Remove status bars in toolmanager mode as well. -* :ghpull:`16551`: DOC: be more opinionated about flags passed to pip -* :ghpull:`17328`: Fixes icon clipping issue with WxAgg NavigationToolbar2 for wxpython 4.1.0 -* :ghpull:`17425`: fix typo in stem doc -* :ghpull:`17415`: Cygwin fixes -* :ghpull:`17401`: FIX: Fix for FFmpeg + GIF -* :ghpull:`16569`: MNT: improve the error message in Path init -* :ghpull:`17404`: Don't forget to dlclose() main_program in tkagg init. -* :ghpull:`17414`: Keep validate_date private. -* :ghpull:`17413`: Revert "DOC: drop the experimental tag constrained_layout and tight_layout" -* :ghpull:`17394`: Deprecate passing keys to update_keymap as single comma-separated string -* :ghpull:`17395`: TexManager fixes. -* :ghpull:`17399`: Remove qt4 backends from backend fallback candidates. -* :ghpull:`17392`: Clarify deprecation message re: tex/pgf preambles as list-of-strings. -* :ghpull:`17400`: Cleanup wx examples. -* :ghpull:`17378`: Fix marker overlap -* :ghpull:`17351`: Fix running the test suite with inkscape>=1. -* :ghpull:`17382`: FIX: properly check figure on gridspec -* :ghpull:`17390`: Small updates to troubleshooting guide. -* :ghpull:`15104`: Simplify file handling in ft2font. -* :ghpull:`17380`: Support standard names for freetype hinting flags. -* :ghpull:`15594`: Fix marker overlap -* :ghpull:`17372`: Auto-set artist.mouseover based on if get_cursor_data is overridden. -* :ghpull:`17377`: Remove code for sphinx < 1.8 -* :ghpull:`17266`: Keep explicit ticklabels in sync with ticks from FixedLocator -* :ghpull:`17359`: Fix running test_internal_cpp_api directly. -* :ghpull:`17355`: Change subprocess for inkscape version detection -* :ghpull:`17369`: CI: Add eslint for JS linting -* :ghpull:`17226`: Replace backend_driver by new example runner. -* :ghpull:`17365`: Also use light color tool buttons in qt+toolmanager+dark theme. -* :ghpull:`17366`: Restrict Qt toolbars to top/bottom of canvas. -* :ghpull:`17361`: Remove randomness from test_colorbar_get_ticks_2. -* :ghpull:`17151`: Cleanup colors.py docstrings. -* :ghpull:`17287`: Make API of get_tightbbox more consistent between Axes and Axis. -* :ghpull:`17092`: Don't create a statusbar in Qt, wx backends. -* :ghpull:`17220`: Simplify Annotation and Text bbox drawing. -* :ghpull:`17353`: Make zooming work in qt-embedding example. -* :ghpull:`16727`: Update xtick.alignment parameter in rcsetup to validate against correct values -* :ghpull:`17236`: Add the "contour.linewidths" configuration option -* :ghpull:`16328`: Make Artist.set() apply properties in the order in which they are given. -* :ghpull:`9696`: FIX: set_url() without effect in the plot for instances of Tick -* :ghpull:`17002`: Fix AnnotationBbox picking and a bit of cleanup -* :ghpull:`17256`: Improve ps handling of individual usetex strings. -* :ghpull:`17267`: Improve image comparison decorator -* :ghpull:`17332`: Cleanup docstring of subplots(). -* :ghpull:`16843`: Deprecate is_pyqt5. -* :ghpull:`15898`: New textcolor kwarg for legend -* :ghpull:`17333`: Make sharex, etc. args of subplots() keyword-only. -* :ghpull:`17329`: Improve docs of eventplot() -* :ghpull:`17330`: Remove pnpoly license. -* :ghpull:`13656`: For single datasets, don't wrap artist added by Axes.hist in silent_list -* :ghpull:`16247`: DOC added kwargs and tight_layout description in plt.figure -* :ghpull:`16992`: Implement FigureManager.resize for macosx backend -* :ghpull:`17324`: DOC: add offset axes to secondary_axes -* :ghpull:`17311`: Make pyplot signatures of rgrids() and thetagrids() explicit -* :ghpull:`17302`: Fix alignment of offset text on top axis. -* :ghpull:`14421`: Add GridSpec.subplots() -* :ghpull:`15111`: By default, don't change the figure face/edgecolor on savefig(). -* :ghpull:`17318`: both x and y should multiply the radius -* :ghpull:`17309`: Cleanup parameter types in docstrings -* :ghpull:`17308`: Improve docs of bar() and barh() -* :ghpull:`17312`: changed axis to axes in lifecycle tutorial -* :ghpull:`16715`: Automatically create tick formatters for str and callable inputs. -* :ghpull:`16959`: Simplify and robustify ConnectionPatch coordinates conversion. -* :ghpull:`17306`: FIX: CL more stable -* :ghpull:`17301`: Use deprecate_privatize_attribute more. -* :ghpull:`16985`: Adds normalize kwarg to pie function -* :ghpull:`5243`: Enhancement of tick label offset text positioning -* :ghpull:`17292`: Deprecate various wx Toolbar attributes. -* :ghpull:`17297`: Simplify pickling support. -* :ghpull:`17298`: Fix rubberband in tk. -* :ghpull:`17299`: Avoid "dash motion" in qt zoom box. -* :ghpull:`17200`: Implement set_history_buttons for Tk toolbar. -* :ghpull:`16798`: Make the Qt interactive zoom rectangle black & white. -* :ghpull:`17296`: Fix doc wording -* :ghpull:`17282`: Don't divide by zero in Line2D.segment_hits. -* :ghpull:`17293`: Fix incorrect deprecation. -* :ghpull:`17285`: V32 mergeup -* :ghpull:`15933`: Warn if a temporary config/cache dir must be created. -* :ghpull:`15911`: Use os.getpid() in configdir, to avoid multiprocess concurrency issues -* :ghpull:`17277`: Move slow FontManager warning to FontManager constructor. -* :ghpull:`17222`: FIX: long titles x/ylabel layout -* :ghpull:`14960`: Don't generate individual doc entries for inherited Axes/Axis/Tick methods -* :ghpull:`17175`: Further sync axes_grid colorbars with standard colorbars. -* :ghpull:`17030`: Move widget functions into matplotlib.testing.widgets. -* :ghpull:`16975`: Fix "out of bounds" undefined behavior -* :ghpull:`17111`: Deprecate NavigationToolbar2._init_toolbar. -* :ghpull:`15275`: adds turbo colormap -* :ghpull:`17174`: Inline RGBAxes._config_axes to its only call site. -* :ghpull:`17156`: Deprecate text.latex.preview rcParam. -* :ghpull:`17242`: Make deprecations versions explicit -* :ghpull:`17165`: Small optimizations to scale and translate of Affine2D -* :ghpull:`17181`: Inline some private helper methods in ColorbarBase + small refactors. -* :ghpull:`17264`: Don't trigger save when gtk save dialog is closed by escape. -* :ghpull:`17262`: fix typo in set_clip_on doc -* :ghpull:`17234`: Shorten and privatize qt's UiSubplotTool. -* :ghpull:`17137`: Deprecate Toolbar.press/release; add helper to find overridden methods. -* :ghpull:`17245`: Improve error handling in _parse_scatter_color_args -* :ghpull:`15008`: ENH: add variable epoch -* :ghpull:`17260`: Text Rotation Example: Correct roation_mode typo -* :ghpull:`17258`: Improve info logged by tex subsystem. -* :ghpull:`17211`: Deprecate support for running svg converter from path contaning newline. -* :ghpull:`17078`: Improve nbAgg & WebAgg toolbars -* :ghpull:`17191`: Inline unsampled-image path; remove renderer kwarg from _check_unsampled_image. -* :ghpull:`17213`: Replace use of Bbox.bounds by appropriate properties. -* :ghpull:`17219`: Add support for suptitle() in tight_layout(). -* :ghpull:`17235`: More axisartist cleanups -* :ghpull:`17239`: Remove deprecations that expire in 3.3 -* :ghpull:`13696`: Deprecate offset_position="data". -* :ghpull:`16991`: Begin warning on modifying global state of colormaps -* :ghpull:`17053`: Replace most jQuery with vanilla JavaScript -* :ghpull:`17228`: Make params to pyplot.tight_layout keyword-only. -* :ghpull:`17225`: Remove Patch visibility tracking by Legend & OffsetBox. -* :ghpull:`17027`: Fix saving nbAgg figure after a partial blit -* :ghpull:`16847`: Ticks are not markers -* :ghpull:`17229`: Autogenerate subplots_adjust with boilerplate.py. -* :ghpull:`17209`: Simplify some axisartist code. -* :ghpull:`17204`: Draw unfilled hist()s with the zorder of lines. -* :ghpull:`17205`: Shorten tight_layout code. -* :ghpull:`17218`: Document ``Transform.__add__`` and ``.__sub__``. -* :ghpull:`17215`: Small cleanups. -* :ghpull:`17212`: Cleanup text.py. -* :ghpull:`17196`: Move polar tests to their own module. -* :ghpull:`14747`: Deprecate AxisArtist.dpi_transform. -* :ghpull:`13144`: Deprecate NavigationToolbar2GTK3.ctx. -* :ghpull:`17202`: DOC: Remove extra word -* :ghpull:`17194`: Small cleanups/simplifications/fixes to pie(). -* :ghpull:`17102`: Switch tk pan/zoom to use togglable buttons. -* :ghpull:`16832`: Correctly compute path extents -* :ghpull:`17193`: Document docstring quote convention -* :ghpull:`17195`: Fix polar tests. -* :ghpull:`17189`: Make all parameters of ColorbarBase, except ``ax``, keyword-only. -* :ghpull:`16717`: Bugfix for issue 16501 raised ValueError polar subplot with (thetamax - thetamin) > 2pi -* :ghpull:`17180`: Doc: spines arrows example -* :ghpull:`17184`: Fix various small typos. -* :ghpull:`17143`: Move linting to GitHub Actions with reviewdog. -* :ghpull:`17160`: Correctly go through property setter when init'ing Timer interval. -* :ghpull:`17166`: Deprecate ScalarMappable.check_update and associated machinery. -* :ghpull:`17177`: Manually linewrap PS hexlines. Fixes #17176 -* :ghpull:`17162`: Update docs of rc_context() -* :ghpull:`17170`: Convert SubplotZero example into centered-spines-with-arrows recipe. -* :ghpull:`17164`: Fix Figure.add_axes(rect=...). -* :ghpull:`17154`: DOC: Fix some warning and unreproducibility -* :ghpull:`17169`: Clarify that draw_event occurs after the canvas draw. -* :ghpull:`17089`: Cleanup some imports in tests -* :ghpull:`17040`: Improve docs on automated tests -* :ghpull:`17145`: CI: run pydocstyle with our custom options -* :ghpull:`16864`: Check parameter type for legend(labels) -* :ghpull:`17146`: FigureManager/NavigationToolbar2 cleanups. -* :ghpull:`16933`: Add tests for toolmanager. -* :ghpull:`17127`: ENH: allow title autopositioning to be turned off -* :ghpull:`17150`: Many docstring cleanups. -* :ghpull:`17148`: Fix most instances of D404 ("docstring should not start with 'this'"). -* :ghpull:`17142`: BUGFIX: conditional for add_axes arg deprecation -* :ghpull:`17032`: Fold table.CustomCell into Cell. -* :ghpull:`17117`: TextBox improvements. -* :ghpull:`17108`: Make widgets.TextBox work also when embedding. -* :ghpull:`17135`: Simplify pan/zoom toggling. -* :ghpull:`17134`: Don't override update() in NavigationToolbar2Tk. -* :ghpull:`17129`: In docs remove 'optional' if 'default' can be given -* :ghpull:`16963`: Deprecate Locator.refresh and associated helpers. -* :ghpull:`17133`: Fix Button widget motion callback. -* :ghpull:`17125`: Make multiline docstrings start with a newline. -* :ghpull:`17124`: Widgets cleanup. -* :ghpull:`17123`: Cleanup/Simplify Cell._set_text_position. -* :ghpull:`16862`: FIX: turn off title autopos if pad is set -* :ghpull:`15214`: Inline wx icon loading. -* :ghpull:`16831`: Simplify interactive zoom handling. -* :ghpull:`17094`: DOC: drop the experimental tag constrained_layout and tight_layout -* :ghpull:`17101`: Avoid "wrapped C/C++ object has been deleted" when closing wx window. -* :ghpull:`17028`: Changed return type of get_{x,y}ticklabels to plain list -* :ghpull:`16058`: Deprecate {ContourSet,Quiver}.ax in favor of .axes. -* :ghpull:`15349`: Use checkboxes as bullet points for the PR review checklists -* :ghpull:`17112`: Fix some link redirects in docs -* :ghpull:`17090`: DOCS: add examples of how one "should" use Bbox -* :ghpull:`17110`: Simplify connection of the default key_press and button_press handlers. -* :ghpull:`17070`: Cleanups to Qt backend. -* :ghpull:`16776`: Make cursor text precision actually correspond to pointing precision. -* :ghpull:`17026`: Add eslint & prettier, and re-format JS -* :ghpull:`17091`: Make sure slider uses "x" sign before multiplicative factor. -* :ghpull:`17082`: Cleanup TextBox implementation. -* :ghpull:`17067`: Simplify and generalize _set_view_from_bbox. -* :ghpull:`17081`: Update animation_api.rst -* :ghpull:`17077`: Improve default formatter for Slider values. -* :ghpull:`17079`: Use True instead of 1 for boolean parameters. -* :ghpull:`17074`: Fixed a typo in Lifecycle of a Plot -* :ghpull:`17072`: Cleanup multi_image example. -* :ghpull:`15287`: Allow sharex/y after axes creation. -* :ghpull:`16987`: Deprecate case-insensitive properties. -* :ghpull:`17059`: More missing refs fixes, and associated doc rewordings. -* :ghpull:`17057`: Simplify subgridspec example/tutorial. -* :ghpull:`17058`: Fix minor doc typos. -* :ghpull:`17024`: Clarify docs of Rectangle -* :ghpull:`17043`: Avoid spurious deprecation warning in TextBox. -* :ghpull:`17047`: Highlighted .cbook.warn_deprecated() in contributing.rst -* :ghpull:`17054`: Use slope in axline example -* :ghpull:`17048`: More missing refs fixes. -* :ghpull:`17021`: File name made more understandable -* :ghpull:`16903`: Shorten implementation of Axes methods that just wrap Axis methods. -* :ghpull:`17039`: Cleanups to contour docs. -* :ghpull:`17011`: ci: Publish result images as Azure artifacts. -* :ghpull:`17038`: Improve readability of documenting_mpl.rst -* :ghpull:`16996`: Clean up get_proj() docstring (used view_init docstring as reference) -* :ghpull:`17019`: Add return field to documentation of 'get_major_ticks' -* :ghpull:`16999`: Add section on artifacts to imshow docs -* :ghpull:`17029`: Fix table.Cell docstrings. -* :ghpull:`17025`: Fix RecursionError when closing nbAgg figures. -* :ghpull:`16971`: Don't change Figure DPI if value unchanged -* :ghpull:`16972`: Fix resize bugs in GTK -* :ghpull:`17008`: Change the description of Rectangle's xy parameter -* :ghpull:`16337`: Create axline() using slope -* :ghpull:`16947`: Fix missing parameter initialization in Axes.specgram() -* :ghpull:`17001`: Cleanup imshow_extent tutorial. -* :ghpull:`17000`: More stringent eventplot orientations. -* :ghpull:`16771`: Deprecate non-string values as legend labels -* :ghpull:`15910`: Simplify init of EventCollection. -* :ghpull:`16998`: Made INSTALL.rst consistent -* :ghpull:`15393`: Cleanup shape manipulations. -* :ghpull:`10924`: Clear() methods to Radio and CheckButtons and other improvements -* :ghpull:`16988`: Make plt.{r,theta}grids act as setters even when all args are kwargs. -* :ghpull:`16986`: update tox.ini to match pythons supported and allow flags for pytest -* :ghpull:`16111`: Move locking of fontlist.json *into* json_dump. -* :ghpull:`13110`: Slightly tighten the Bbox/Transform API. -* :ghpull:`16973`: TST: don't actually render 1k+ date ticks -* :ghpull:`16967`: Simplify animation writer fallback. -* :ghpull:`16812`: Bezier/Path API Cleanup: fix circular import issue -* :ghpull:`16968`: Add link to 3.2 min-supported-requirements. -* :ghpull:`16957`: Remove unused, private aliases Polygon._{get,set}_xy. -* :ghpull:`16960`: Improve error for quoted values in matplotlibrc. -* :ghpull:`16530`: Fix violinplot support list of pandas.Series -* :ghpull:`16939`: Cleanup/tighten axes_grid. -* :ghpull:`16942`: Cleanup and avoid refleaks OSX Timer__timer_start. -* :ghpull:`16944`: TST: update default junit_family -* :ghpull:`16823`: Dedupe implementation of axes grid switching in toolmanager. -* :ghpull:`16951`: Cleanup dates docstrings. -* :ghpull:`16769`: Fix some small style issues -* :ghpull:`16936`: FIX: Plot is now rendered with correct inital value -* :ghpull:`16937`: Making sure to keep over/under/bad in cmap resample/reverse. -* :ghpull:`16915`: Tighten/cleanup wx backend. -* :ghpull:`16923`: Test the macosx backend on Travis. -* :ghpull:`15369`: Update style docs -* :ghpull:`16893`: Robustify ``AffineBase.__eq__`` against comparing to other classes. -* :ghpull:`16904`: Turn fontdict & minor into kwonly parameters for set_{x,y}ticklabels. -* :ghpull:`16917`: Add test for close_event. -* :ghpull:`16920`: Remove unused _read_ppm_image from macosx.m. -* :ghpull:`16877`: Cleanup new_fixed_axis examples. -* :ghpull:`15049`: Annotate argument in axes class match upstream -* :ghpull:`16774`: Cleanup demo_axes_hbox_divider. -* :ghpull:`16873`: More fixes to pydocstyle D403 (First word capitalization) -* :ghpull:`16896`: set_tick_params(label1On=False) should also make offset text invisible. -* :ghpull:`16907`: Fix typo in implementation of quit_all_keys. -* :ghpull:`16900`: Document and test common_texification() -* :ghpull:`16902`: Remove dot from suffix in testing.compare. -* :ghpull:`16828`: Use more _setattr_cm, thus fix Text('').get_window_extent(dpi=...) -* :ghpull:`16901`: Cleanup many docstrings. -* :ghpull:`16840`: Deprecate support for Qt4. -* :ghpull:`16899`: Remove optional returns from TriAnalyzer._get_compressed_triangulation. -* :ghpull:`16618`: Use SubplotSpec row/colspans more, and deprecate get_rows_columns. -* :ghpull:`15392`: Autoscale for ax.arrow() -* :ghpull:`14626`: Add support for minor ticks in 3d axes. -* :ghpull:`16897`: Add back missing import. -* :ghpull:`14725`: Move the debug-mode TransformNode.write_graphviz out. -* :ghpull:`15437`: Improve handling of alpha when saving to jpeg. -* :ghpull:`15606`: Simplify OldAutoLocator and AutoDateLocator. -* :ghpull:`16863`: Shortcut for closing all figures -* :ghpull:`16876`: Small cleanups to dviread. -* :ghpull:`15680`: Use more kwonly arguments, less manual kwargs-popping. -* :ghpull:`15318`: Deprecate unused rcParams["animation.html_args"]. -* :ghpull:`15303`: Make it possible to use rc_context as a decorator. -* :ghpull:`16890`: Enables hatch alpha on SVG -* :ghpull:`16887`: Shorter event mocking in tests. -* :ghpull:`16881`: Validate tickdir strings -* :ghpull:`16846`: Disconnect manager when resizing figure for animation saving. -* :ghpull:`16871`: Shorter Path import in setupext. -* :ghpull:`16892`: Warn in the docs that MouseEvent.key can be wrong. -* :ghpull:`16209`: Dedupe boilerplate for "adoption" of figure into pyplot. -* :ghpull:`16098`: Deprecate parameter props of Shadow -* :ghpull:`15747`: Move Text init to end of Annotation init. -* :ghpull:`15679`: np.concatenate cleanups. -* :ghpull:`16778`: Remove more API deprecated in 3.1(part 7) -* :ghpull:`16886`: Finish removing mentions of idle_event. -* :ghpull:`16882`: Fix trivial docstring typos. -* :ghpull:`16874`: Fix pydocstyle D209 (Multi-line docstring closing separate line) -* :ghpull:`14044`: Remove font preamble caching in TexManager. -* :ghpull:`16724`: Fixed incorrect colour in ErrorBar when Nan value is presented -* :ghpull:`15254`: Propagate signature-modifying decorators to pyplot wrappers. -* :ghpull:`16868`: Update release guide -* :ghpull:`14442`: In the build, declare all (compulsory) extension modules together. -* :ghpull:`16866`: Cleanup/update deprecations. -* :ghpull:`16850`: use validate_[cap/join]style -* :ghpull:`16858`: Fix various numpydoc style issues -* :ghpull:`16848`: Cleanup CI setup -* :ghpull:`16845`: Fix checking of X11 builds with PySide2. -* :ghpull:`14199`: Deprecate Path helpers in bezier.py -* :ghpull:`16838`: Inline some more kwargs into setup.py's setup() call. -* :ghpull:`16841`: Cleanup errorbar subsampling example -* :ghpull:`16839`: spines doc cleanup -* :ghpull:`16844`: fix example hist(density=...) -* :ghpull:`16827`: Fix warnings in doc examples -* :ghpull:`16772`: Remove more API deprecated in 3.1 -* :ghpull:`16822`: fix bug where make_compound_path kept all STOPs -* :ghpull:`16819`: Destroy figures by manager instance, not by number. -* :ghpull:`16824`: Deprecate NavigationToolbar2QT.parent. -* :ghpull:`16825`: Don't use deprecated Gtk add_with_viewport. -* :ghpull:`16816`: Merge v3.2.x into master -* :ghpull:`16786`: Simple cleanups to formatters. -* :ghpull:`16807`: Update barchart_demo. -* :ghpull:`16804`: Deprecate some mathtext glue helper classes. -* :ghpull:`16808`: One more instance of check_in_list. -* :ghpull:`16802`: Fix incorrect super class of VCentered. -* :ghpull:`16789`: Update markup for collections docstrings. -* :ghpull:`16781`: Update image tutorial wrt. removal of native png handler. -* :ghpull:`16787`: Avoid vstack() when possible. -* :ghpull:`16689`: Add a fast path for NumPy arrays to Collection.set_verts -* :ghpull:`15373`: Further shorten quiver3d computation... -* :ghpull:`16780`: Don't import rcParams but rather use mpl.rcParams (part 3) -* :ghpull:`16775`: Cleanup axes_divider examples. -* :ghpull:`15949`: Simplify implementation of SubplotTool. -* :ghpull:`14869`: Deduplicate code for text-to-path conversion in svg backend. -* :ghpull:`16527`: Validate positional parameters of add_subplot() -* :ghpull:`15622`: Cleanup mpl_toolkits locators. -* :ghpull:`16744`: Reword axes_divider tutorial. -* :ghpull:`16746`: Reword colorbar-with-axes-divider example. -* :ghpull:`15211`: Various backend cleanups. -* :ghpull:`15890`: Remove API deprecated in 3.1 (part 2) -* :ghpull:`16757`: Simplify interactive zoom handling. -* :ghpull:`15515`: Combine withEffect PathEffect definitions. -* :ghpull:`15977`: pgf backend cleanups. -* :ghpull:`15981`: Reuse colorbar outline and patch when updating the colorbar. -* :ghpull:`14852`: Use Path.arc() to interpolate polar arcs. -* :ghpull:`16686`: Deprecate Substitution.from_params. -* :ghpull:`16675`: Vectorize patch extraction in Axes3D.plot_surface -* :ghpull:`15846`: Standardize signature mismatch error messages. -* :ghpull:`16740`: Fix type of ``dpi`` in docstrings. -* :ghpull:`16741`: Dedupe RGBAxes examples. -* :ghpull:`16755`: Reword docstring of panning callbacks, and pass them a MouseButton. -* :ghpull:`16749`: Document behavior of savefig("extensionless-name"). -* :ghpull:`16754`: Cleanup image.py. -* :ghpull:`14606`: Generic cleanup to hist(). -* :ghpull:`16692`: Allow MarkerStyle instances as input for lines -* :ghpull:`15479`: Cleanup axes_rgb. -* :ghpull:`16617`: Use Path(..., closed=True) more. -* :ghpull:`16710`: Make format_coord messagebox resize with the window and the content in osx backend -* :ghpull:`16681`: Simplify docstring interpolation for Box/Arrow/ConnectionStyles. -* :ghpull:`16576`: Deprecate arg-less calls to subplot_class_factory (and similar factories) -* :ghpull:`16652`: Deprecate {Locator,Axis}.{pan,zoom}. -* :ghpull:`16596`: Deprecate dviread.Encoding. -* :ghpull:`16231`: Deprecate JPEG-specific kwargs and rcParams to savefig. -* :ghpull:`16636`: Deprecate autofmt_xdate(which=None) to mean which="major". -* :ghpull:`16644`: Deprecate validate_webagg_address. -* :ghpull:`16619`: Fix overindented lines. -* :ghpull:`15233`: backend_ps cleanup. -* :ghpull:`16604`: Deprecate more rc validators. -* :ghpull:`16601`: Small unrelated cleanups. -* :ghpull:`16584`: Rename font_bunch to psfont in textpath. -* :ghpull:`16023`: Dedupe implementations of fill_between & fill_betweenx. -* :ghpull:`16485`: Simplify validate_color_for_prop_cycle. -* :ghpull:`16285`: Deprecate RendererCairo.font{weights,angles} -* :ghpull:`16410`: Fix support for empty usetex strings. -* :ghpull:`11644`: Add feature to fallback to stix font in mathtext -* :ghpull:`16537`: Delay checking for existence of postscript distillers. -* :ghpull:`16351`: Group all init of Legend.legendPatch together. -* :ghpull:`15988`: Refactor Annotation properties. -* :ghpull:`16421`: Shorten the type1-to-unicode name table. -* :ghpull:`16200`: Deprecate Artist.{set,get}_contains. -* :ghpull:`15828`: Deprecate support for dash-offset = None. -* :ghpull:`16338`: Document SymmetricalLogLocator parameters. -* :ghpull:`16504`: DOC: more pcolor fixes -* :ghpull:`15996`: Cleanup axes_size. -* :ghpull:`16108`: Deprecate DraggableBase.on_motion_blit. -* :ghpull:`16706`: Fix exception causes all over the codebase -* :ghpull:`15855`: Simplify 3d axes callback setup. -* :ghpull:`16219`: Simplify CallbackRegistry pickling. -* :ghpull:`16002`: relax two test tolerances on x86_64 -* :ghpull:`16063`: Make the signature of Axes.draw() consistent with Artist.draw(). -* :ghpull:`16177`: Further simplify setupext. -* :ghpull:`16191`: Make Figure._axobservers a CallbackRegistry. -* :ghpull:`16698`: Small edits to toolkits docs. -* :ghpull:`15430`: Simplify setupext.download_or_cache. -* :ghpull:`16694`: Lower Text's FontProperties priority when updating -* :ghpull:`16511`: Add more detailed kwargs docstrings to Axes methods. -* :ghpull:`16653`: Tutorials: make path/URL option clearer in matplotlibrc tutorial -* :ghpull:`16697`: Update docstrings for plot_directive. -* :ghpull:`16684`: Fix exception causes in 19 modules -* :ghpull:`16674`: Docstring + import cleanups to legend.py. -* :ghpull:`16683`: Turn mathtext.GlueSpec into a (private) namedtuple. -* :ghpull:`16660`: Cleanup fancybox_demo. -* :ghpull:`16691`: Clarify tiny comment re: AnnotationBbox constructor. -* :ghpull:`16676`: Cleanup animation docstrings. -* :ghpull:`16673`: DOC: correct title_fontsize docstring -* :ghpull:`16669`: DOC: update doc release guide -* :ghpull:`16563`: Parametrize imshow antialiased tests. -* :ghpull:`16658`: In docs, add multi-axes connectionpatches to Figure, not Axes. -* :ghpull:`16647`: Update annotation tutorial. -* :ghpull:`16638`: Remove unused, outdated division operators on jpl_units. -* :ghpull:`16509`: Add custom math fallback -* :ghpull:`16609`: Fix exception causes in rcsetup.py -* :ghpull:`16637`: Update docstrings in figure.py. -* :ghpull:`16534`: DOC: MaxNLocator and contour/contourf doc update (replaces #16428) -* :ghpull:`16597`: close #16593: setting ecolor turns off color cycling -* :ghpull:`16615`: Update custom boxstyles example. -* :ghpull:`16610`: Added graphviz_docs to conf.py -* :ghpull:`16608`: Stricter validation of rcParams["axes.axisbelow"]. -* :ghpull:`16614`: Cleanup quiver3d examples. -* :ghpull:`16556`: Make backend_ps test robust against timestamp changes in ghostscript. -* :ghpull:`16602`: Cleanup testing.compare. -* :ghpull:`16575`: Style fix for dynamic axes subclass generation in mpl_toolkits. -* :ghpull:`16587`: Remove warnings control from tests.py. -* :ghpull:`16599`: Cleanup dolphin example. -* :ghpull:`16586`: Deprecate recursionlimit kwarg to matplotlib.test(). -* :ghpull:`16595`: Minor docstring/references update. -* :ghpull:`16579`: Update usetex_fonteffects example. -* :ghpull:`16578`: Use rc() less often in examples/tutorials. -* :ghpull:`16572`: Remove some remnants of hist{,2d}(normed=...). -* :ghpull:`16491`: Expire the _rename_parameters API changes. -* :ghpull:`14592`: In SecondaryAxis.set_functions, reuse _set_scale's parent scale caching. -* :ghpull:`16279`: STY: Fix underindented continuation lines. -* :ghpull:`16549`: Improve documentation for examples/widgets/textbox.py -* :ghpull:`16560`: Update URL to pyparsing. -* :ghpull:`16292`: More edits to Normalize docstrings. -* :ghpull:`16536`: API/TST: minimum versions -* :ghpull:`16559`: 3D example avoid using statefull .gca() -* :ghpull:`16553`: DOC: clarify the expected shapes of eventplot input -* :ghpull:`16535`: Clarify docs of num parameter of plt.figure() -* :ghpull:`16547`: Reformat/reword mathtext docstrings. -* :ghpull:`16545`: Add a smoketest for ps.usedistiller="xpdf". -* :ghpull:`16529`: Deprecate toggling axes navigatability using the keyboard. -* :ghpull:`16521`: Remove more API deprecated in 3.1. -* :ghpull:`16481`: Update set_thetalim documentation -* :ghpull:`16524`: Cleanup docstrings -* :ghpull:`16540`: Cleanup imports -* :ghpull:`16429`: CI: update codecov -* :ghpull:`16533`: Recommend to amend pull requests -* :ghpull:`16531`: Also deprecate ignorecase ValidateInStrings. -* :ghpull:`16428`: DOC: MaxNLocator and contour/contourf doc update -* :ghpull:`16525`: Don't import rcParams but rather use mpl.rcParams (part 2) -* :ghpull:`16528`: Improve test failure messages on warnings. -* :ghpull:`16393`: Shorten PyFT2Font_get_charmap. -* :ghpull:`16483`: Deprecate most ValidateInStrings validators. -* :ghpull:`16523`: Reorder mathtext rcparams in matplotlibrc template. -* :ghpull:`16520`: Update a comment re: minimum version of numpy working around bug. -* :ghpull:`16522`: Fix deprecation warning -* :ghpull:`16515`: Fix doc for set_{x,y}label, and then some more. -* :ghpull:`16516`: Fixes to boxplot() docstring & error messages. -* :ghpull:`16508`: Multi-dim transforms are non-separable by default. -* :ghpull:`16507`: Factor out common parts of ``__str__`` for Transform subclasses. -* :ghpull:`16514`: Various delayed PR reviews -* :ghpull:`16512`: Fix a bunch of random typos. -* :ghpull:`16510`: Doc markup cleanups. -* :ghpull:`16500`: Dedupe timer attribute docs. -* :ghpull:`16503`: DOC: suppress warning on pcolor demo -* :ghpull:`16495`: Deemphasize basemap in user-facing docs. -* :ghpull:`16484`: Don't forget to set stretch when exporting font as svg reference. -* :ghpull:`16486`: Simplify validate_color, and make it slightly stricter. -* :ghpull:`16246`: Avoid using FontProperties when not needed. -* :ghpull:`16432`: Prefer geomspace() to logspace(). -* :ghpull:`16099`: Consistently name callback arguments event instead of evt -* :ghpull:`16477`: Remove some APIs deprecated in mpl3.1. -* :ghpull:`16475`: Use vlines() and plot(), not stem(), in timeline example. -* :ghpull:`16474`: Switch default of stem(use_line_collection=...) to True. -* :ghpull:`16467`: Convert named_colors example to use Rectangle -* :ghpull:`16047`: Remove more API deprecated in 3.1 -* :ghpull:`16373`: Fix usetex_baseline_test. -* :ghpull:`16433`: Simplify demo_curvelinear_grid2. -* :ghpull:`16472`: Fix mplot3d projection -* :ghpull:`16092`: Deprecate clear_temp param/attr of FileMovieWriter. -* :ghpull:`15504`: Warn when trying to start a GUI event loop out of the main thread. -* :ghpull:`15023`: Simplify formatting of matplotlibrc.template. -* :ghpull:`13535`: Validate inputs to ScalarMappable constructor -* :ghpull:`16469`: FIX: colorbar minorticks when rcParams['x/ytick.minor.visible'] = True -* :ghpull:`16401`: BLD: Auto-detect PlatformToolset -* :ghpull:`16024`: Keep parameter names in preprocess_data. -* :ghpull:`13390`: Make sure that scatter3d copies its inputs. -* :ghpull:`16107`: Deprecate DraggableBase.artist_picker. -* :ghpull:`16455`: Update some docstrings in colors.py -* :ghpull:`16456`: Enable more font_manager tests to be run locally. -* :ghpull:`16459`: Update backend dependency docs. -* :ghpull:`16444`: Dedupe spectral plotting tests. -* :ghpull:`16460`: Remove some mentions of avconv, following its deprecation. -* :ghpull:`16443`: Parametrize some spectral tests. -* :ghpull:`16204`: Expire deprecation of \mathcircled -* :ghpull:`16446`: Replace matshow baseline test by check_figures_equal. -* :ghpull:`16418`: Backend timer simplifications. -* :ghpull:`16454`: Use pytest.raises(match=...) -* :ghpull:`14916`: Make kwargs names in scale.py not include the axis direction. -* :ghpull:`16258`: ENH: add shading='nearest' and 'auto' to ``pcolormesh`` -* :ghpull:`16228`: Allow directly passing explicit font paths. -* :ghpull:`16445`: Remove a bunch of imports-within-tests. -* :ghpull:`16440`: Expire deprecation of \stackrel. -* :ghpull:`16439`: Rework pylab docstring. -* :ghpull:`16441`: Rework pylab docstring. -* :ghpull:`16442`: Expire deprecation of \stackrel. -* :ghpull:`16365`: TST: test_acorr (replaced image comparison with figure comparion) -* :ghpull:`16206`: Expire deprecation of \stackrel -* :ghpull:`16437`: Rework pylab docstring. -* :ghpull:`8896`: Fix mplot3d projection -* :ghpull:`16430`: Remove unnecessary calls to np.array in examples. -* :ghpull:`16407`: Remove outdated comment re: PYTHONHASHSEED and pytest. -* :ghpull:`16225`: Cleanup animation examples. -* :ghpull:`16336`: Include axline() in infinite lines example -* :ghpull:`16395`: Add set/get for ellipse width/height -* :ghpull:`16431`: CI: add py38 to azure matrix -* :ghpull:`16415`: Expire some APIs deprecated in mpl3.1. -* :ghpull:`16425`: MNT: rename internal variable -* :ghpull:`16427`: Style-fix some examples and update .flake8 per-file-ignores. -* :ghpull:`16423`: Slightly improve streamplot code legibility. -* :ghpull:`16414`: DOC: Fix ``axes:plot`` method docstring verb tense -* :ghpull:`16408`: Deprecate avconv animation writers. -* :ghpull:`16406`: Don't import rcParams but rather use mpl.rcParams. -* :ghpull:`16326`: Cleanup stack -* :ghpull:`16193`: Catch shadowed imports in style checks. -* :ghpull:`16374`: Log about font manager generation beforehand. -* :ghpull:`16372`: Dedupe ImageGrid doc from tutorial and docstring. -* :ghpull:`16380`: "gif" third-party package added to the extension page -* :ghpull:`16327`: Cleanup list copying -* :ghpull:`16366`: Special-case usetex minus to zero depth. -* :ghpull:`16350`: TST: Improved test (getting rid of image comparison test for test_titletwiny) -* :ghpull:`16359`: Make Text.update_from copy usetex state. -* :ghpull:`16355`: typo in ``ticker.ScalarFormatter`` doc -* :ghpull:`15440`: Use rcParams to control default "raise window" behavior (Qt,Gtk,Tk,Wx) -* :ghpull:`16302`: Cleanup Legend._auto_legend_data. -* :ghpull:`16329`: ENH: add zorder kwarg to contour clabel (and a better default value for zorder) -* :ghpull:`16341`: Remove mention of now-removed --verbose-foo flags. -* :ghpull:`16265`: Fix spy(..., marker=, origin="lower") -* :ghpull:`16333`: Document animation HTML writer. -* :ghpull:`16334`: Fix doc regarding deprecation of properties. -* :ghpull:`16335`: Fix some more missing references. -* :ghpull:`16304`: Simplify Legend.get_children. -* :ghpull:`16309`: Remove duplicated computations in Axes.get_tightbbox. -* :ghpull:`16314`: Avoid repeatedly warning about too many figures open. -* :ghpull:`16319`: Put doc for XAxis befor YAxis and likewise for XTick, YTick. -* :ghpull:`16313`: Cleanup constrainedlayout_guide. -* :ghpull:`16312`: Remove unnecessary Legend._approx_text_height. -* :ghpull:`16307`: Cleanup axes_demo. -* :ghpull:`16303`: Dedupe Legend.draw_frame which is the same as set_frame_on. -* :ghpull:`16261`: TST: move the Qt-specific handling to conftest -* :ghpull:`16297`: DOC: fix description of vmin/vmax in scatter -* :ghpull:`16288`: Remove the private, unused _csv2rec. -* :ghpull:`16281`: Update/cleanup pgf tutorial. -* :ghpull:`16283`: Cleanup backend_agg docstrings. -* :ghpull:`16282`: Replace "unicode" by "str" in docs, messages when referring to the type. -* :ghpull:`16289`: axisartist tutorial markup fixes. -* :ghpull:`16293`: Revert "Fix doc CI by pointing to dev version of scipy docs." -* :ghpull:`16287`: Improve markup for rcParams in docs. -* :ghpull:`16271`: Clean up and clarify Normalize docs -* :ghpull:`16290`: Fix doc CI by pointing to dev version of scipy docs. -* :ghpull:`16276`: Cleanup docstring of print_figure, savefig. -* :ghpull:`16277`: Prefer using MouseButton to numeric values in docs and defaults. -* :ghpull:`16270`: numpydoc-ify SymLogNorm -* :ghpull:`16274`: Tiny cleanups to set_xlabel(..., loc=...). -* :ghpull:`16273`: DOC: Changing the spelling of co-ordinates. -* :ghpull:`15974`: Enable set_{x|y|}label(loc={'left'|'right'|'center'}...) -* :ghpull:`16248`: Update matplotlib.__doc__. -* :ghpull:`16262`: Dedupe update of rcParams["backend"] in use() and in switch_backend() -* :ghpull:`9629`: Make pcolor(mesh) preserve all data -* :ghpull:`16254`: DOC: pdf.preamble --> pgf.preamble -* :ghpull:`16245`: Cleanup image docs -* :ghpull:`16117`: CI: Unify required dependencies installation -* :ghpull:`16240`: Cleanup custom_scale example. -* :ghpull:`16227`: Make Animation.repeat_delay an int, not an int-or-None. -* :ghpull:`16242`: CI: Remove PYTHONUNBUFFERED=1 on Appveyor -* :ghpull:`16183`: Remove some baseline images for plot() tests. -* :ghpull:`16229`: And more missing refs. -* :ghpull:`16215`: Concise dates test -* :ghpull:`16233`: Reword ScalarFormatter docstrings. -* :ghpull:`16218`: Cleanup animation docs. -* :ghpull:`16172`: And more missing references. -* :ghpull:`16205`: Deprecate the empty matplotlib.compat. -* :ghpull:`16214`: Fix overindented line in AnchoredOffsetbox doc. -* :ghpull:`15943`: Deprecate the TTFPATH & AFMPATH environment variables. -* :ghpull:`16039`: Deprecate unused features of normalize_kwargs. -* :ghpull:`16202`: Remove outdated statement in tight_layout guide. -* :ghpull:`16201`: UnCamelCase examples. -* :ghpull:`16194`: Numpydoc ticklabel_format. -* :ghpull:`16195`: Numpydoc ContourSet.find_nearest_contour. -* :ghpull:`16198`: Remove em dash -* :ghpull:`16199`: Do not use camel case for variables in examples -* :ghpull:`15644`: Rewrite cursor example to include speedup possibilities -* :ghpull:`16196`: Cleanup patches docstrings. -* :ghpull:`16184`: Expire a mpl2.2-deprecated API -* :ghpull:`16188`: Remove ref. to non-existent method in animation tests. -* :ghpull:`16170`: Deprecate old and little used formatters. -* :ghpull:`16187`: Fix overly long lines in examples & tutorials. -* :ghpull:`15982`: Colorbar cleanup. -* :ghpull:`16154`: Deprecate setting pickradius via set_picker -* :ghpull:`16174`: Numpydocify artist.getp(). -* :ghpull:`16165`: Remove rcParams deprecated in mpl3.0/3.1. -* :ghpull:`16141`: Update _base.py -* :ghpull:`16169`: Add missing spaces after commas. -* :ghpull:`15847`: Remove some dead branches from texmanager code. -* :ghpull:`16125`: Fix more missing references again. -* :ghpull:`16150`: Simplify transforms addition. -* :ghpull:`16152`: Inline _init_axes_pad into Grid.__init__. -* :ghpull:`16129`: Deprecate some Transform aliases in scale.py. -* :ghpull:`16162`: (Mostly) avoid the term "command" in the docs. -* :ghpull:`16159`: Simple cleanups for contour.py. -* :ghpull:`16164`: Fix trivial typo in deprecation warning message. -* :ghpull:`16160`: Cleanup hist() docstring. -* :ghpull:`16149`: DOC: reword density desc in ``ax.hist`` -* :ghpull:`16151`: Remove outdated comment re: blended transforms. -* :ghpull:`16102`: Rework example "Scatter Star Poly" to "Marker examples" -* :ghpull:`16134`: Validate Line2D pickradius when setting it, not when reading it. -* :ghpull:`15019`: Add step option where='edges' to facilitate pre-binned hist plots -* :ghpull:`16142`: Avoid using np.r\_, np.c\_. -* :ghpull:`16146`: Remove LICENSE_CONDA. -* :ghpull:`16133`: Reword docstring of Line2D.contains. -* :ghpull:`16120`: Minor fontproperty fixes. -* :ghpull:`15670`: Reuse Grid.__init__ in ImageGrid.__init__. -* :ghpull:`16025`: Deprecate update_datalim_bounds. -* :ghpull:`16001`: Remove parameters deprecated in 3.1 -* :ghpull:`16049`: Add __repr__ to SubplotSpec. -* :ghpull:`16100`: Consistently name event callbacks on_[event] -* :ghpull:`16106`: In DraggableLegend, inherit DraggableBase.artist_picker. -* :ghpull:`16109`: Name Axes variables ax instead of a -* :ghpull:`16115`: Fix more missing references. -* :ghpull:`16096`: Deprecate unused parameters -* :ghpull:`16085`: Improve docstrings in offsetbox.py -* :ghpull:`16097`: Cleanup unused variables -* :ghpull:`16101`: Fix incorrect doc regarding projections. -* :ghpull:`16095`: Deprecate MovieWriter.{exec,args}_key, making them private. -* :ghpull:`16078`: Refactor a bit animation start/save interaction. -* :ghpull:`16081`: Delay resolution of animation extra_args. -* :ghpull:`16088`: Use C++ true/false in ttconv. -* :ghpull:`16082`: Defaut to writing animation frames to a temporary directory. -* :ghpull:`16070`: Make animation blit cache robust against 3d viewpoint changes. -* :ghpull:`5056`: MNT: more control of colorbar with CountourSet -* :ghpull:`16051`: Deprecate parameters to colorbar which have no effect. -* :ghpull:`16045`: Use triple-double-quotes for docstrings -* :ghpull:`16076`: Cleanup path_editor example. -* :ghpull:`16059`: Simplify colorbar test. -* :ghpull:`16072`: Cleanup category.py docstrings. -* :ghpull:`15769`: scatter() should not rescale if norm is given -* :ghpull:`16060`: Cleanup pcolor_demo. -* :ghpull:`16057`: Trivial docstring fix for cbook.deprecated. -* :ghpull:`16043`: Simplify some comparisons -* :ghpull:`16044`: Code style cleanup -* :ghpull:`15894`: rcsetup cleanups. -* :ghpull:`16050`: Unbreak CI. -* :ghpull:`16034`: Update comments re: colors._vector_magnitude. -* :ghpull:`16035`: Make eventplot use the standard alias resolution mechanism. -* :ghpull:`15798`: Better default behavior for boxplots when rcParams['lines.marker'] is set -* :ghpull:`16004`: Improve documentation of text module -* :ghpull:`15507`: Use FixedFormatter only with FixedLocator -* :ghpull:`16008`: Remove unused imports -* :ghpull:`16036`: Rely on pytest to record warnings, rather than doing it manually. -* :ghpull:`15734`: Fix home/forward/backward buttons for 3d plots. -* :ghpull:`16038`: Cleanup contour_demo. -* :ghpull:`15998`: Join marker reference and marker fiillstyle reference -* :ghpull:`15976`: Cleanup span_where. -* :ghpull:`15990`: Remove deprecated support for setting single property via multiple aliases -* :ghpull:`15940`: Some unicode-support related cleanups. -* :ghpull:`15836`: Compactify a bit the EventCollection tests. -* :ghpull:`16013`: Relayout some conditions in axes_grid. -* :ghpull:`16010`: Inherit the Artist.draw docstring in subclasses. -* :ghpull:`16017`: Document support for no-args plt.subplot() call. -* :ghpull:`16014`: Simplify calls to AxesGrid/ImageGrid. -* :ghpull:`16012`: Normalize aspect="equal" to aspect=1 in the setter. -* :ghpull:`15997`: Shorten wx _onMouseWheel. -* :ghpull:`15993`: Style fixes for axes_divider. -* :ghpull:`15989`: Simplify Artist.update. -* :ghpull:`16015`: Some small extension cleanups -* :ghpull:`16011`: Replace axes_size.Fraction by multiplication. -* :ghpull:`15719`: Templatize spectral helpers. -* :ghpull:`15995`: Remove toolkit functions deprecated in 3.1 -* :ghpull:`16003`: prevent needless float() conversion -* :ghpull:`16000`: De-deprecate \*min/\*max parameters to set_x/y/zlim() -* :ghpull:`15684`: Avoid RuntimeError at wx exit. -* :ghpull:`15992`: Avoid using np.matrix. -* :ghpull:`15961`: Be more opinionated for setting up a dev env. -* :ghpull:`15991`: Avoid setting dtypes as strings... -* :ghpull:`15985`: Remove unnecessary :func:, :meth: from examples markup. -* :ghpull:`15983`: Fix some examples docstrings. -* :ghpull:`15979`: Remove references to scipy cookbook. -* :ghpull:`15966`: FIX: check subplot kwargs -* :ghpull:`15947`: Merge the two usetex demos. -* :ghpull:`15939`: Exceptions should start with a capital letter -* :ghpull:`15948`: Use rc_context more. -* :ghpull:`15962`: Add tests for IndexFormatter -* :ghpull:`15965`: Test registering cmaps -* :ghpull:`15950`: Remove deprecated TextWithDash -* :ghpull:`15942`: Update docs of type1font -* :ghpull:`15927`: Trying to set the labels without setting ticks through pyplot now raises TypeError* -* :ghpull:`15944`: Minor doc cleanups -* :ghpull:`15945`: Do not use "object" or "instance" when documenting types -* :ghpull:`15897`: Cleanup TriAnalyzer docs -* :ghpull:`15777`: Don't bother disconnecting idle_draw at gtk shutdown. -* :ghpull:`15929`: Remove unused cbook._lockstr. -* :ghpull:`15935`: Raise an ValueError when Axes.pie accepts negative values #15923 -* :ghpull:`15895`: Deprecate unused illegal_s attribute. -* :ghpull:`15900`: Rewrite test_cycles to avoid image comparison tests. -* :ghpull:`15892`: Update docs of backend_manager -* :ghpull:`15878`: Remove API deprecated in 3.1 -* :ghpull:`15928`: DOC: use markers as slanted breaks in broken axis example -* :ghpull:`14659`: Update some widget docstrings. -* :ghpull:`15919`: Remove mod_python specific code. -* :ghpull:`15883`: Improve error when passing 0d array to scatter(). -* :ghpull:`15907`: More docstrings cleanup. -* :ghpull:`15906`: Cleanup legend docstrings. -* :ghpull:`15776`: Improve doc for data kwarg. -* :ghpull:`15904`: Deemphasize ACCEPTS blocks in documenting_mpl docs. -* :ghpull:`15891`: Mark self.* expressions in docstrings as literal -* :ghpull:`15875`: Deprecate implicit creation of colormaps in register_cmap() -* :ghpull:`15885`: Cleanup text.py docstrings. -* :ghpull:`15888`: Cleanup backend_bases docs. -* :ghpull:`15887`: Fix AnnotationBbox docstring. -* :ghpull:`15858`: Avoid some uses of len-1 tuples. -* :ghpull:`15873`: Standardize parameter types in docs -* :ghpull:`15874`: Cleanup backend_bases docs -* :ghpull:`15876`: Deprecate case-insensitive capstyles and joinstyles. -* :ghpull:`15877`: Suppress exception chaining on rc validator failure. -* :ghpull:`15880`: Use True/False instead of 0/1 as booleans in backend_ps. -* :ghpull:`15827`: Fix validation of linestyle in rcparams and cycler. -* :ghpull:`15850`: Docstrings cleanup in matplotlib.axes -* :ghpull:`15853`: np.abs -> (builtins).abs -* :ghpull:`15854`: Simplify Axes3D init. -* :ghpull:`15822`: More cleanup defaults in docstrings -* :ghpull:`15838`: Remove some references to Py2. -* :ghpull:`15834`: Optimize colors.to_rgba. -* :ghpull:`15830`: Allow failure on nightly builds. -* :ghpull:`15788`: Fixes pyplot xticks() and yticks() by allowing setting only the labels -* :ghpull:`15805`: Improve docs on figure size -* :ghpull:`15783`: Fix stepfilled histogram polygon bottom perimeter -* :ghpull:`15812`: Cleanup defaults in docstrings -* :ghpull:`15804`: Cleanup many docstrings. -* :ghpull:`15790`: Update docs of PolyCollection -* :ghpull:`15792`: Cleanup dviread docs. -* :ghpull:`15801`: Cleanup some references to rcParams in docs. -* :ghpull:`15787`: Cleanup ``Colormap.__call__``. -* :ghpull:`15766`: Shorten description on search page -* :ghpull:`15786`: Slightly clarify the implementation of safe_masked_invalid. -* :ghpull:`15767`: Update badges in README.rst -* :ghpull:`15778`: Fix typos and comma splices in legend guide -* :ghpull:`15775`: Some pathlibification. -* :ghpull:`15772`: Directly dedent the spectral parameter docs. -* :ghpull:`15765`: Reword some docstrings. -* :ghpull:`15686`: Simplify and unify character tracking in pdf and ps backends (with linked fonts) -* :ghpull:`9321`: Add Axes method for drawing infinite lines -* :ghpull:`15749`: Fix travis links in README -* :ghpull:`15673`: Rely on findfont autofallback-to-default in pdf/ps backends. -* :ghpull:`15740`: Small animation cleanup. -* :ghpull:`15739`: ImageMagick animators now can use extra_args -* :ghpull:`15591`: Remove FAQ on 'Search' -- already referenced in search file -* :ghpull:`15629`: Consistently use realpaths to build XObject names -* :ghpull:`15696`: Improve mathtext.fontset docs and fix :mathmpl: cache bug. -* :ghpull:`15721`: Render default values in :rc: directive as literal -* :ghpull:`15720`: Suppress triage_tests warning on Py3.8. -* :ghpull:`15709`: Make 3d plot accept scalars as arguments. -* :ghpull:`15711`: Don't explicitly list scalez kwarg in Axes3D constructor and docs. -* :ghpull:`14948`: Simplify Tick and Axis initialization. -* :ghpull:`15693`: Also test PySide2 on CI. -* :ghpull:`15701`: Tried to solve Issue #15650: Print URL when webbrowser.open Fails -* :ghpull:`15704`: Fix more broken refs. -* :ghpull:`15687`: Add tooltips to HTML animation controls -* :ghpull:`15592`: Offset text position -* :ghpull:`15697`: Fix some broken doc refs. -* :ghpull:`15700`: Parametrize some spectral tests. -* :ghpull:`15699`: Fix some incorrect ValueErrors. -* :ghpull:`15698`: Bump numpy dependency to >=1.15. -* :ghpull:`15694`: Handle upcoming deprecation of np.float. -* :ghpull:`15691`: Correctly handle high dpi in Pillow animation writer. -* :ghpull:`15676`: Doc adopt nep29 -* :ghpull:`15692`: Update FUNDING.yml -* :ghpull:`15645`: Bump minimal numpy version to 1.12. -* :ghpull:`15646`: Hide sphinx-gallery config comments -* :ghpull:`15642`: Remove interpolation="nearest" from most examples. -* :ghpull:`15671`: Don't mention tcl in tkagg commments anymore. -* :ghpull:`15607`: Simplify tk loader. -* :ghpull:`15651`: Simplify axes_pad handling in axes_grid. -* :ghpull:`15652`: Remove mention of Enthought Canopy from the docs. -* :ghpull:`15655`: Remove outdated license files. -* :ghpull:`15639`: Simplify axes_grid.Grid/axes_grid.ImageGrid construction. -* :ghpull:`15640`: Remove some commented-out code from axes_grid. -* :ghpull:`15643`: Fix examples claiming matplotlib can't plot np.datetime64. -* :ghpull:`15375`: Add note to hist docstring about speed -* :ghpull:`15461`: Fix invalid checks for axes_class parameter in ImageGrid. -* :ghpull:`15635`: Deprecate "U" mode passed to cbook.to_filehandle(). -* :ghpull:`15563`: In backend_pgf, directly open subprocess in utf8 mode. -* :ghpull:`15462`: Simplify azure setup. -* :ghpull:`13075`: Remove logic for optionally building Agg and TkAgg. -* :ghpull:`15262`: Declare qt figureoptions tool in toolitems. -* :ghpull:`15292`: Shorten RendererWx.get_wx_font. -* :ghpull:`15569`: Allow linking against a system qhull as well. -* :ghpull:`15589`: Make sure that figures are closed when check_figures_equal finishes -* :ghpull:`15465`: Validate and simplify set_tick_params(which=...) -* :ghpull:`15090`: Coerce MxNx1 images into MxN images for imshow -* :ghpull:`15578`: BLD: set the max line length on the flake8 config -* :ghpull:`15564`: Use True instead of 1 as filternorm default -* :ghpull:`15536`: Add a backend kwarg to savefig. -* :ghpull:`15571`: Cleanup following using Pillow as universal image reader -* :ghpull:`15476`: Default to local_freetype builds. -* :ghpull:`15557`: Skip failing pgf test when sfmath.sty is not present. -* :ghpull:`15555`: Add pgf to list of builtin backends in docs. -* :ghpull:`15534`: BLD: update pillow dependency -* :ghpull:`15427`: Separate plots using #### in demo_fixed_size_axes.py -* :ghpull:`15505`: Cleanup axisartist tutorial. -* :ghpull:`15506`: Rename locator.den to the clearer locator.nbins in mpl_toolkits. -* :ghpull:`15502`: Get rid of trivial compiler warning. -* :ghpull:`15451`: Ci py38 -* :ghpull:`15484`: Cleanup docs regarding compilers. -* :ghpull:`15467`: Validate locator_params(axis=...) -* :ghpull:`15330`: Add axes method for drawing infinite lines. -* :ghpull:`15482`: Trivial style fixes to constrained_layout. -* :ghpull:`15418`: Use correct pip/pytest on azure -* :ghpull:`15466`: Update tick_params() docs -* :ghpull:`15463`: Remove staticbuild option from setup.cfg.template. -* :ghpull:`15378`: Don't link ft2font to zlib by default. -* :ghpull:`15270`: When no gui event loop is running, propagate callback exceptions. -* :ghpull:`15447`: Move testing of Py3.8 to Travis. -* :ghpull:`15431`: Fix range(len()) usages -* :ghpull:`15390`: Simplify implementation of vectorized date operations. -* :ghpull:`15403`: Fix DeprecationWarning in nightly testing -* :ghpull:`15394`: Deprecate {NonUniformImage,PcolorImage}.is_grayscale. -* :ghpull:`15400`: Updated INSTALL.rst to correct install commands -* :ghpull:`13788`: Autoscale for ax.arrow() -* :ghpull:`15367`: Update the readme on providing API changes -* :ghpull:`15193`: Switch to using pillow for png as well. -* :ghpull:`15346`: vectorized calc_arrow loop in quiver -* :ghpull:`15011`: Adding example for drawstyle -* :ghpull:`15371`: Deprecate Colorbar.config_axis() -* :ghpull:`15361`: Update next API changes to new structure -* :ghpull:`15274`: NavigationToolbar2Tk: make packing optional. -* :ghpull:`15158`: Change the way API changes are documented -* :ghpull:`15356`: Fix broken imports. -* :ghpull:`15200`: Simplify SubplotParams.update(). -* :ghpull:`15210`: Explicitly list allowed "unused" imports, remove the rest. -* :ghpull:`15348`: Some figure and related docs cleanup -* :ghpull:`13355`: Simplify and generalize BezierSegment. -* :ghpull:`14917`: ENH: box aspect for axes -* :ghpull:`14949`: Use fix_minus in format_data_short. -* :ghpull:`15341`: Move non-gui warning message to backend_bases. -* :ghpull:`15335`: Add discourse link to readme -* :ghpull:`15293`: Fixes for wx savefig dialog. -* :ghpull:`15324`: Update PR guidelines -* :ghpull:`15301`: Update colorbar docs -* :ghpull:`15340`: Always attach a manager attribute (possibly None) on canvas. -* :ghpull:`15319`: Make validate_movie_writer actually check registered writers. -* :ghpull:`10973`: PGF: Replace \pgfimage by \includegraphics to fix \import regression -* :ghpull:`15302`: fix warning used by cbook.warn_deprecated() -* :ghpull:`15321`: Sort missing_references.json. -* :ghpull:`15290`: Unify fig.delaxes(ax) and ax.remove(). -* :ghpull:`15309`: Simplify sca(). -* :ghpull:`15201`: Autogenerate gca(), gci() from boilerplate.py. -* :ghpull:`15305`: Autogenerate footer Copyright year -* :ghpull:`15294`: Replace custom logging in wx by stdlib logging. -* :ghpull:`15288`: More properties aliases. -* :ghpull:`15286`: throw deprecation warning on empty call to fig.add_axes() -* :ghpull:`15282`: Colorbar cleanup. -* :ghpull:`15250`: Cleanup font_manager. -* :ghpull:`13581`: Cleanup _pylab_helpers. -* :ghpull:`15273`: DOC: don't use term units in transform tutorial -* :ghpull:`15263`: Correctly setup comparisons in test_compare_images. -* :ghpull:`15226`: Turn gtk3 pan/zoom button into togglable buttons. -* :ghpull:`14609`: Simplify implementation of set_{x,y}bound. -* :ghpull:`15261`: Change layout of test_triager to avoid cropping images. -* :ghpull:`15236`: Dedupe SubplotSpec construction in mpl_toolkits. -* :ghpull:`14130`: Add decorator to inherit keyword-only deprecations -* :ghpull:`15249`: In findfont(fallback_to_default=False), throw if default font is missing -* :ghpull:`15175`: Simplify pdf image output. -* :ghpull:`7506`: [WIP] Add Axes method for drawing infinite lines. - -Issues (198): - -* :ghissue:`16501`: Setting a thetalim > 2pi gives odd results -* :ghissue:`15035`: security exposure in the packaged jquery library -* :ghissue:`10375`: Coordinate text wrapping in navigation toolbar -* :ghissue:`10720`: Option to set the text color in legend to be same as the line -* :ghissue:`17868`: plt.bar with nan input fails rendering in notebook using 3.3.0rc1 -* :ghissue:`17773`: gtk3 rubberband is invisible -* :ghissue:`5726`: Cursor displays x, y coordinates with too much or too little precision -* :ghissue:`5164`: Sort out qt_compat -* :ghissue:`17905`: macosx backend warns when using the zoom method -* :ghissue:`17703`: QuadMesh.get_clim changed behavior in 3.3.0rc1 -* :ghissue:`17875`: animation.writers['ffmpeg']" is hung when run in background. -* :ghissue:`17591`: Single-character colors do not match long names -* :ghissue:`16905`: if pie normalizes depends on input values -* :ghissue:`17829`: trunk fails to build in AIX -* :ghissue:`17820`: Regression: _reshape_2D no longer preserves the shape of lists of lists of one scalar each -* :ghissue:`17807`: "%matplotlib notebook" Download is Noise After Interacting with Plot -* :ghissue:`17763`: matplotlib.use('agg', force=True) does not ignore unavailable configured backend -* :ghissue:`17586`: Surprising datetime autoscaling after passing empty data -* :ghissue:`17792`: when using plt.tight_layout(), figure title overlaps subplot titles -* :ghissue:`17736`: ax.set_xticklabels([]) for categorical plots is broken in 3.3.0rc1 -* :ghissue:`17757`: Plotting Hist with histtype 'stepfilled' does not respect bottom correctly -* :ghissue:`17744`: BUG: AttributeError: 'FigureCanvasBase' object has no attribute 'print_png' in 3.3rc0 -* :ghissue:`17730`: Using backend Template and plt.tight_layout raises UnboundLocalError -* :ghissue:`17716`: Error using "set_window_title" for canvas via backend_qt5agg -* :ghissue:`17681`: PDF cannot be built due to Zenodo SVGs -* :ghissue:`17627`: AttributeError: 'Figure' object has no attribute '_cachedRenderer' -* :ghissue:`17658`: Feature request: Add advanced zoom and inspect feature to GUI for more productivity -* :ghissue:`17629`: Use of Python deprecated APIs. -* :ghissue:`17670`: BUG: Setting ticksize xx-small broken by #17348 -* :ghissue:`17673`: RuntimeError: latex was not able to process the following string: b'$\\\\mathdefault{-2}$' -* :ghissue:`17412`: Document the dependency on the type1ec LaTeX package -* :ghissue:`17643`: AutoDateLocator docs has a typo -* :ghissue:`9118`: make TeXManager more user-configurable -* :ghissue:`11131`: Make pyplot.pause not give focus to the figure window -* :ghissue:`17646`: more conservative setattr_cm broke mplcairo -* :ghissue:`17634`: Cannot copy LinearSegmentedColormap -* :ghissue:`16496`: Single path optimisation for Collection w/ offsets broken -* :ghissue:`192`: Savefig does not issue a warning on a non-existent keyword n -* :ghissue:`17624`: _DummyAxis needs a __name__ attribute for ScalarFormatter -* :ghissue:`16910`: Axes.imshow draws invalid color at value is 0 when max of 'X' not equal to vmax -* :ghissue:`17637`: streamplot and sticky edges interaction -* :ghissue:`17633`: Stackplot fails for small numbers -* :ghissue:`17616`: waitforbuttonpress in Linux -* :ghissue:`17615`: small bug in documentation of backend.FigureCanvasBase.start_event_loop -* :ghissue:`17093`: Zero size figure use case -* :ghissue:`17608`: How avoid PyQt5 to crash when I move Qslitter to the edge with a matplotlib figure in it? -* :ghissue:`9829`: Vertices clipped for certain markers when plotting more than two points and saving as pdf -* :ghissue:`15815`: bar3d color length bug -* :ghissue:`15376`: ScalarFormatter.set_powerlimits documentation seems inconsistent -* :ghissue:`17595`: Master doc builds broken -* :ghissue:`16482`: Pyplot hlines and vlines do not use the 'lines.color' property in rcParams by default -* :ghissue:`16388`: rethink how we display DOI svg badges -* :ghissue:`17172`: set_aspect for 3D plots -* :ghissue:`16463`: Jupyter "inline" backend seems to misinterpret "figsize" with Axes3D -* :ghissue:`17527`: The markers are not hollow when I use ax.scatter() and set markers.MarkerStyle()'s fillstyle to 'none'. My usage is wrong? -* :ghissue:`7491`: sort out if the high-resolution ellipse code still works -* :ghissue:`17398`: Plotting an error band along a curve -* :ghissue:`8550`: Matplotlib chooses the wrong font for unrecognized weights -* :ghissue:`8788`: Font issue: findfonts should differentiate between thin and regular ttf fonts -* :ghissue:`10194`: legend is not present in the generated image if I use 'tight' for bbox_inches -* :ghissue:`17336`: set_url without effect for instances of Line2D -* :ghissue:`9695`: set_url() without effect in the plot for instances of Tick -* :ghissue:`17192`: How to change the thickness of the marker "x" when using scatter? -* :ghissue:`17507`: pyplot.savefig() throwing warning suggesting a bug (possibly in figManger) -* :ghissue:`17502`: dict unpacking broken for ``.plot`` in 3.2 -* :ghissue:`15546`: plt.imshow: clip_on=False has no effect -* :ghissue:`17023`: DOC: Tutorial/Sample plots should use same fig/axis creation method -* :ghissue:`7537`: Conflict between different AGG static libraries in a same binary -* :ghissue:`16836`: Dropping support for PyQt4; preparing support for PyQt6. -* :ghissue:`17455`: LightSource.shade fails on a masked array -* :ghissue:`16353`: BUG: VisibleDeprecationWarning in boxplot -* :ghissue:`11820`: Compressed Triangulation Masking in CubicTriInterpolator -* :ghissue:`11823`: Animation Examples -* :ghissue:`15410`: Change in OSX Catalina makes matplotlib + multiprocessing crash -* :ghissue:`17467`: Bug Report: saved Figure ignores figure.facecolor -* :ghissue:`17343`: Regression in add_subplot.. -* :ghissue:`7093`: ordering issues between ``set_xmargin`` and ``set_xscale`` -* :ghissue:`13971`: Unnecessary drawing with NbAgg -* :ghissue:`17432`: Scatter accepts marker=MarkerStyle(), but plot does not -* :ghissue:`15675`: Boxplot line color with style dark_background should be bright -* :ghissue:`5962`: No output from pyplot on cygwin64 python3 virtualenv -* :ghissue:`17393`: TexManager.get_rgba fails -* :ghissue:`5830`: Incorrect overlap of markers in scatter3D -* :ghissue:`11937`: Limiting ticks on colorbar axes falsify tick labels. -* :ghissue:`17354`: Converter detection fails for inkscape if on headless system without DISPLAY -* :ghissue:`17352`: Zoom In-Out not behaving as expected in QT backend example -* :ghissue:`15409`: Datetime plot fails with 'Agg' backend in interactive mode -* :ghissue:`14155`: Adding GridSpec.subplots? -* :ghissue:`16583`: matplotlibrc validates some parameters wrongly -* :ghissue:`16946`: Pick_event on AnnotationBbox fires at wrong position -* :ghissue:`15131`: set_size_inches doesn't resize window on macosx backend -* :ghissue:`7619`: Figure background colors -* :ghissue:`15899`: Describe possible kwargs that may be input into a function -* :ghissue:`17304`: constrained-layout gives wrong results when explicitly equal width ratios are set -* :ghissue:`17295`: DOC: https://matplotlib.org/api/_as_gen/matplotlib.quiver.Quiver.html -* :ghissue:`17294`: DOC: matplotlib.axes.Axes.annotate.html -* :ghissue:`17290`: backend_svg fails with dashed line style -* :ghissue:`16677`: tmp_config_or_cache_dir atexit cleanup fails after forks() -* :ghissue:`15091`: Turbo color map -* :ghissue:`7372`: Moving get_ax and do_event to testing -* :ghissue:`15225`: Show offset text on subplots after sharing axis -* :ghissue:`7138`: misplaced spines in dates plot -* :ghissue:`17243`: Misleading error message in _parse_scatter_color_args -* :ghissue:`16461`: Hexbin if singular and mincnt used -* :ghissue:`14596`: forward port jquery removal from ipympl -* :ghissue:`17217`: Transform operators are not publicly documented.... -* :ghissue:`2253`: matplotlib makes python lose focus -* :ghissue:`7184`: margins does not handle bézier curves -* :ghissue:`16830`: ``_path.get_extents`` does not correctly handle bezier curves -* :ghissue:`17176`: Print figure using PS backend is needlessly slow -* :ghissue:`17141`: flake8-docstrings does not check all of our requirements -* :ghissue:`16567`: Let legend get the handles from the provided objects if not specified explicitly. -* :ghissue:`16805`: Titles cannot be padded to negative numbers anymore. -* :ghissue:`17114`: ``add_axes`` shows deprecation warning when called with only ``kwarg``\s -* :ghissue:`16885`: Change return type get_{x,y}ticklabels to plain list -* :ghissue:`17044`: widgets.TextBox continuously creates new text objects and linecollection objects. -* :ghissue:`17066`: documentation of animation contains non-working code example -* :ghissue:`16588`: Rename next_api_changes to api_changes_3.x (whatever number makes sense) -* :ghissue:`17015`: ``get_major_ticks`` docs missing return type -* :ghissue:`16976`: Thin line color distortion on large scale -* :ghissue:`16934`: gtk3 window immediately resizes down to zero-height upon showing up. -* :ghissue:`16941`: test_determinism_check is failing (sometimes) -* :ghissue:`16982`: pyplot.rgrids don't do anything -* :ghissue:`16952`: How to solve an error of "ValueError: Key backend: Unrecognized backend string '"agg"' -* :ghissue:`15272`: Axes.violinplot has small issue in using pandas.DataFrame without index 0. -* :ghissue:`16926`: tk window immediately resizes down to zero-height upon showing up. -* :ghissue:`16919`: wx backends don't send close_event if window is closed via "q" keypress -* :ghissue:`16854`: small typo in the documentation -* :ghissue:`16895`: offset text still visible with ImageGrid axis "L" -* :ghissue:`12712`: Autoscale does not work for ax.arrow() -* :ghissue:`14208`: shift + w does not close all figures (has no effect) -* :ghissue:`15745`: Failed to add annotate to figure -* :ghissue:`11432`: Pressing the "1" key kills the zoom/pan tool -* :ghissue:`13799`: BUG: incorrect error bar colors when NaN values are present -* :ghissue:`16185`: hist demo appears to incorrectly mention ``normed`` and something odd about ``density`` as well. -* :ghissue:`15203`: Closing figures is done by number -* :ghissue:`16016`: Better argument checking of subplot definition in ``add_subplot()`` -* :ghissue:`15980`: Is the reset of the colorbar's edgecolor when updating the corresponding image clim wanted behaviour? -* :ghissue:`16718`: Float figure DPI -* :ghissue:`16498`: long string of format_coord in osx backend -* :ghissue:`8405`: BUG: PDF export seems wrong with dash sequences that include a None offset -* :ghissue:`8619`: Feature request: allow mathtext fallback font other than Computer Modern for custom mathtext setup -* :ghissue:`14996`: format error saving eps figure using custom linestyle -* :ghissue:`16493`: Example/tutorials warn due to new pcolormesh shading -* :ghissue:`16022`: Cleanup Artist.draw() signatures -* :ghissue:`16389`: “Size” ignored if placed before fontproperties -* :ghissue:`16687`: Creating a figure of size (0, 0) raises an error -* :ghissue:`12729`: Docs for contour levels argument is incorrect -* :ghissue:`16593`: specifying ecolor in errobar turns off cycling -* :ghissue:`15621`: secondary_xaxis doesn't seem to use formatters -* :ghissue:`16116`: travis36minver.txt needs an update -* :ghissue:`16546`: Problem with eventplot - error message claims events & lineoffsets are unequal sizes -* :ghissue:`16462`: Allow wedges of polar plots to include theta = 0. -* :ghissue:`15142`: pyplot.annotate() API deprecation -* :ghissue:`16479`: font-stretch property missing in svg export -* :ghissue:`14304`: 'NSWindow drag regions should only be invalidated on the Main Thread!' - macos/python -* :ghissue:`12085`: Tcl_AsyncDelete: async handler deleted by the wrong thread -* :ghissue:`14669`: cm.ScalarMappable should fail early when norm input is wrong -* :ghissue:`16468`: incorrect cbar minor ticks for extend regions when x/ytick.minor.visible is True -* :ghissue:`16243`: windows builds: devenv freetype /update appears not to have an effect -* :ghissue:`11525`: Axes3D scatter plot for Numpy arrays in F-order does not give correct z-values -* :ghissue:`8894`: mplot3d projection results in non-orthogonal axes -* :ghissue:`1104`: Resizing a GUI window with Axes3D -* :ghissue:`16371`: Incomplete documentation in axes_grid1 -* :ghissue:`6323`: Vertical alignment of tick labels with usetex=True -* :ghissue:`7957`: clabel not respecting zorder parameter -* :ghissue:`16252`: axes.spy plotting function doesn't respect origin='lower' kwarg when marker is not None -* :ghissue:`16299`: The interactive polar plot animation's axis label won't scale. -* :ghissue:`15182`: More tests ``ConciseDateFormatter`` needed -* :ghissue:`16140`: Unclear Documentation for get_xticklabels -* :ghissue:`16147`: pp.hist parmeter 'density' does not scale data appropriately -* :ghissue:`16069`: matplotlib glitch when rotating interactively a 3d animation -* :ghissue:`14603`: Scatterplot: should vmin/vmax be ignored when a norm is specified? -* :ghissue:`15730`: Setting lines.marker = s in matplotlibrc also sets markers in boxplots -* :ghissue:`11178`: home/back/forward buttons do nothing in 3d mode -* :ghissue:`14520`: pylab with wx backend not exiting cleanly -* :ghissue:`15964`: Guard ``plt.subplot`` kwargs a bit better? -* :ghissue:`15404`: Add python 3.8 tests -* :ghissue:`15773`: Warning:... GLib.source_remove(self._idle_draw_id) when using plt.savefig() -* :ghissue:`15923`: pie takes negative values -* :ghissue:`10317`: Setting plt.rc('text', usetex=True) after ticker.ScalarFormatter(useMathText=True) causes Error -* :ghissue:`15825`: Customised dashed linstyle in matplotlib.cycler throws ValueError when using in Axes.set_prop_cycle -* :ghissue:`9792`: Error with linestyles rcParams entries under the form (on, off, ...) and a style context manager -* :ghissue:`15782`: Invalid polygon in stepfilled histogram when bottom is set -* :ghissue:`15628`: Invalid unicode characters in PDF when font is a symlink -* :ghissue:`8577`: mplot3D scalar arguments for plot function -* :ghissue:`15650`: URL is not shown when webagg failed to open the browser. -* :ghissue:`5238`: the offset of the scientific notation in xaxis stays at bottom when axis is set to top -* :ghissue:`15678`: Error at save animation with pillow -* :ghissue:`15079`: check_figures_equal decorator reuses figures if called multiple times inside a single test. -* :ghissue:`15089`: Coerce MxNx1 images into MxN images for imshow -* :ghissue:`5253`: abline() - for drawing arbitrary lines on a plot, given specifications. -* :ghissue:`15165`: Switch to requiring Pillow rather than having our own png wrapper? -* :ghissue:`15280`: Add pull request checklist to Reviewers Guidlines -* :ghissue:`15289`: cbook.warn_deprecated() should warn with a MatplotlibDeprecationWarning not a UserWarning -* :ghissue:`15285`: DOC: make copy right year auto-update -* :ghissue:`15059`: fig.add_axes() with no arguments silently does nothing -* :ghissue:`14546`: Setting lines.markeredgecolor in rcParams affects the ticks' mark color too +Pull Requests (73): + +* :ghpull:`18243`: Fix reshape list of strings +* :ghpull:`18240`: Backport PR #18235 on branch v3.3.x +* :ghpull:`18239`: Backport PR #18233 on branch v3.3.x (Fix cibuildwheel trigger condition.) +* :ghpull:`18235`: FIX: check we have a back button in tk toolbar before we touch it +* :ghpull:`18233`: Fix cibuildwheel trigger condition. +* :ghpull:`18231`: Backport PR #18224 on branch v3.3.x (Try out cibuildwheel.) +* :ghpull:`18224`: Try out cibuildwheel. +* :ghpull:`18230`: Backport PR #18225 on branch v3.3.x (Use certifi when downloading bundled build requirements.) +* :ghpull:`18225`: Use certifi when downloading bundled build requirements. +* :ghpull:`18229`: Backport PR #18219 on branch v3.3.x (Fixes an issue where WxAgg NavigationToolbar2 broke custom toolbars) +* :ghpull:`18219`: Fixes an issue where WxAgg NavigationToolbar2 broke custom toolbars +* :ghpull:`18228`: Backport PR #18227 on branch v3.3.x (Set pipefail when running flake8 linter.) +* :ghpull:`18227`: Set pipefail when running flake8 linter. +* :ghpull:`18215`: Backport PR #18185 on branch v3.3.x (FIX: fix reading from http/https urls via imread) +* :ghpull:`18214`: Backport PR #18184 on branch v3.3.x (Go back to checking figures for their manager in destroy.) +* :ghpull:`18185`: FIX: fix reading from http/https urls via imread +* :ghpull:`18184`: Go back to checking figures for their manager in destroy. +* :ghpull:`18183`: Backport PR #17995 on branch v3.3.x (Avoid using Bbox machinery in Path.get_extents; special case polylines.) +* :ghpull:`18182`: Backport PR #17994 on branch v3.3.x (Special case degree-1 Bezier curves.) +* :ghpull:`18179`: Backport PR #18175 on branch v3.3.x (Downgrade symbol substitution log to info level.) +* :ghpull:`18177`: Backport PR #18092 on branch v3.3.x (Use same Make as FreeType's configure to build it.) +* :ghpull:`18174`: Backport PR #18167 on branch v3.3.x (Catch Pandas AssertionError on deprecated multidimensional indexing. Closes #18158) +* :ghpull:`18176`: Backport PR #18173 on branch v3.3.x (Fix the return value of Axes.get_navigate_mode.) +* :ghpull:`18175`: Downgrade symbol substitution log to info level. +* :ghpull:`18092`: Use same Make as FreeType's configure to build it. +* :ghpull:`18173`: Fix the return value of Axes.get_navigate_mode. +* :ghpull:`18167`: Catch Pandas AssertionError on deprecated multidimensional indexing. Closes #18158 +* :ghpull:`18162`: Backport PR #18156 on branch v3.3.x (Fix IndexError when using scatter3d and depthshade=False) +* :ghpull:`18156`: Fix IndexError when using scatter3d and depthshade=False +* :ghpull:`18153`: Backport PR #18142 on branch v3.3.x (Fix nbagg in Chrome 84) +* :ghpull:`18146`: Backport PR #17989 on branch v3.3.x (gtk/tk: Ensure no flicker when hovering over images.) +* :ghpull:`18142`: Fix nbagg in Chrome 84 +* :ghpull:`18147`: Backport PR #18136 on branch v3.3.x (Sort 3d sizes along with other properties) +* :ghpull:`18136`: Sort 3d sizes along with other properties +* :ghpull:`17989`: gtk/tk: Ensure no flicker when hovering over images. +* :ghpull:`18102`: Fix linting on v3.3.x +* :ghpull:`18111`: Backport PR #18089 on branch v3.3.x +* :ghpull:`18109`: Backport PR #18093 on branch v3.3.x (Improve saving animated GIF with ffmpeg) +* :ghpull:`18089`: Revert "Convert adjust_bbox to use ExitStack." +* :ghpull:`18093`: Improve saving animated GIF with ffmpeg +* :ghpull:`18104`: Backport PR #18101 on branch v3.3.x (FIX: catch all multi-dim warnings pandas) +* :ghpull:`18101`: FIX: catch all multi-dim warnings pandas +* :ghpull:`18091`: ci: Fix linting being ignored by reviewdog +* :ghpull:`18083`: Backport PR #18079 on branch v3.3.x (Set shading='auto' if invalid value passed to pcolormesh) +* :ghpull:`18079`: Set shading='auto' if invalid value passed to pcolormesh +* :ghpull:`18067`: Backport PR #17956 on branch v3.3.x (ENH: Add version check for mac sdk version) +* :ghpull:`17956`: ENH: Add version check for mac sdk version +* :ghpull:`18053`: Backport PR #18021: FIX: update num2julian and julian2num +* :ghpull:`18021`: FIX: update num2julian and julian2num +* :ghpull:`18041`: Backport PR #18038 on branch v3.3.x (FIX: use internal _set_postion, not external) +* :ghpull:`18038`: FIX: use internal _set_postion, not external +* :ghpull:`18036`: Backport PR #18030 on branch v3.3.x (Fix PolyCollection.set_verts optimization.) +* :ghpull:`18030`: Fix PolyCollection.set_verts optimization. +* :ghpull:`18032`: Backport PR #18026 on branch v3.3.x (FIX: Be sure matplotlib.backends is imported before we use it) +* :ghpull:`18026`: FIX: Be sure matplotlib.backends is imported before we use it +* :ghpull:`18027`: Backport PR #17981 on branch v3.3.x (gtk: Fix ``draw`` on unmapped windows.) +* :ghpull:`17981`: gtk: Fix ``draw`` on unmapped windows. +* :ghpull:`18024`: Backport PR #17963 on branch v3.3.x (TST: Ignore deprecations when switching backends.) +* :ghpull:`18023`: Backport PR #18014 on branch v3.3.x (Fix flipped paths in non-writable config dir warning.) +* :ghpull:`17963`: TST: Ignore deprecations when switching backends. +* :ghpull:`18014`: Fix flipped paths in non-writable config dir warning. +* :ghpull:`18008`: Backport PR #17969 on branch v3.3.x (Honor ``'Date': None`` in metadata) +* :ghpull:`18009`: Backport PR #17982 on branch v3.3.x (BF: for degenerate polygons, add CLOSEPOLY vertex) +* :ghpull:`17982`: BF: for degenerate polygons, add CLOSEPOLY vertex +* :ghpull:`17969`: Honor ``'Date': None`` in metadata +* :ghpull:`17995`: Avoid using Bbox machinery in Path.get_extents; special case polylines. +* :ghpull:`17994`: Special case degree-1 Bezier curves. +* :ghpull:`17990`: Manual backport of pr 17983 on v3.3.x +* :ghpull:`17984`: Backport PR #17972 on branch v3.3.x (Fix PyPy compatiblity issue) +* :ghpull:`17985`: Backport PR #17976 on branch v3.3.x (Fixed #17970 - Docstrings should not accessed with -OO) +* :ghpull:`17983`: FIX: undeprecate and update num2epoch/epoch2num +* :ghpull:`17976`: Fixed #17970 - Docstrings should not accessed with -OO +* :ghpull:`17972`: Fix PyPy compatiblity issue + +Issues (25): + +* :ghissue:`18234`: _reshape_2D function behavior changed, breaks hist for some cases in 3.3.0 +* :ghissue:`18232`: different behaviour between 3.3.0 and 3.2.2 (and earlier) for ploting in a Tk canvas +* :ghissue:`18212`: Updated WxAgg NavigationToolbar2 breaks custom toolbars +* :ghissue:`18129`: Error reading png image from URL with imread in matplotlib 3.3 +* :ghissue:`18163`: Figure can not be closed if it has associated Agg canvas +* :ghissue:`17974`: Major speed regression introduced in "plt.bar" definition clipping between 3.0.3 and 3.3.0. +* :ghissue:`17998`: New warning: Substituting symbol \perp from STIXGeneral +* :ghissue:`18057`: Fails to install in FreeBSD +* :ghissue:`18150`: Regression in get_navigate_mode() return value +* :ghissue:`18158`: X-axis that is Pandas Series time zone aware timestamps raises AssertionError +* :ghissue:`18037`: Scatter3D: depthshade=False causes IndexError for Tkinter when plotting more than one point. +* :ghissue:`18169`: When running python with -OO option, an empty matplotlib docstring causes an exception. +* :ghissue:`18165`: fig.colorbar() and using bbox='tight' in PDF export mess up figure dimensions +* :ghissue:`18132`: A simple 3D scatter plot with %matplotlib notebook is not working +* :ghissue:`18135`: Point size array in the Axes3D scatter() does not follow the same order as in the data points +* :ghissue:`18061`: 3.3.0 regression in png backend with colorbar() +* :ghissue:`18076`: pcolormesh + gourand shading + polar axes is broken +* :ghissue:`18010`: 3.3.0: possible regression/bug with DateFormatter? +* :ghissue:`18033`: v. 3.3.0: horizontal colorbar broken +* :ghissue:`18017`: Optimisation in set_verts causes error if ``verts`` have irregular sizes +* :ghissue:`18022`: AttributeError: module 'matplotlib' has no attribute 'backends' +* :ghissue:`18011`: Confusing error message when home config directory not writable +* :ghissue:`17975`: Computing the bounding box of a degenerate polygon throws an error +* :ghissue:`17968`: Setting ``Date`` metadata to ``None`` does not remove the date metadata from the SVG file +* :ghissue:`17970`: AttributeError when using PYTHONOPTIMIZE (due to stripped docstring) Previous GitHub Stats diff --git a/doc/users/prev_whats_new/github_stats_3.3.0.rst b/doc/users/prev_whats_new/github_stats_3.3.0.rst new file mode 100644 index 000000000000..4f9e3b3b6adc --- /dev/null +++ b/doc/users/prev_whats_new/github_stats_3.3.0.rst @@ -0,0 +1,1430 @@ +.. _github-stats-3-3-0: + +GitHub Stats for Matplotlib 3.3.0 +================================= + +GitHub stats for 2020/03/03 - 2020/07/16 (tag: v3.2.0) + +These lists are automatically generated, and may be incomplete or contain duplicates. + +We closed 198 issues and merged 1066 pull requests. +The full list can be seen `on GitHub `__ + +The following 144 authors contributed 3829 commits. + +* Adam +* Adam Paszke +* Adam Ruszkowski +* Alex Henrie +* Alexander Rudy +* Amy Roberts +* andrzejnovak +* Antony Lee +* Ardie Orden +* Asaf Maman +* Avni Sharma +* Ben Root +* Bruno Beltran +* Bruno Pagani +* chaoyi1 +* Cho Yin Yong +* Chris +* Christoph Pohl +* Cimarron Mittelsteadt +* Clemens Brunner +* Dan Hickstein +* Dan Stromberg +* David Chudzicki +* David Stansby +* Dennis Tismenko +* Dominik Schmidt +* donchanee +* Dora Fraeman Caswell +* Edoardo Pizzigoni +* Elan Ernest +* Elliott Sales de Andrade +* Emlyn Price +* Eric Firing +* Eric Larson +* Eric Relson +* Eric Wieser +* Fabien Maussion +* Frank Sauerburger +* Gal Avineri +* Generated images +* Georg Raiser +* Gina +* Greg Lucas +* hannah +* Hanno Rein +* Harshal Prakash Patankar +* henryhu123 +* Hugo van Kemenade +* Ian Hincks +* ImportanceOfBeingErnest +* Inception95 +* Ingo Fründ +* Jake Lee +* Javad +* jbhopkins +* Jeroonk +* jess +* Jess Tiu +* jfbu +* Jiahao Chen +* Jody Klymak +* Jon Haitz Legarreta Gorroño +* Jose Manuel Martí +* Joshua Taillon +* Juanjo Bazán +* Julian Mehne +* Kacper Kowalik (Xarthisius) +* Kevin Mader +* kolibril13 +* kopytjuk +* ksafran +* Kyle Sunden +* Larry Bradley +* Laurent Thomas +* Lawrence D'Anna +* Leo Singer +* lepuchi +* Luke Davis +* Manan Kevadiya +* Manuel Nuno Melo +* Maoz Gelbart +* Marat K +* Marco Gorelli +* Matt Newville +* Matthias Bussonnier +* Max +* Max Chen +* Max Humber +* Maximilian Nöthe +* Michaël Defferrard +* Michele Mastropietro +* mikhailov +* MuhammadFarooq1234 +* Mykola Dvornik +* Nelle Varoquaux +* Nelson Darkwah Oppong +* Nick Pope +* Nico Schlömer +* Nikita Kniazev +* Olivier Castany +* Omar Chehab +* Paul Gierz +* Paul Hobson +* Paul Ivanov +* Pavel Fedin +* Peter Würtz +* Philippe Pinard +* pibion +* Po +* Pradeep Reddy Raamana +* Ram Rachum +* ranjanm +* Raphael +* Ricardo Mendes +* Riccardo Di Maio +* Ryan May +* Sadie Louise Bartholomew +* Sairam Pillai +* Samesh Lakhotia +* SamSchott +* Sandro Tosi +* Siddhesh Poyarekar +* Sidharth Bansal +* Snowhite +* SojiroFukuda +* Spencer McCoubrey +* Stefan Mitic +* Stephane Raynaud +* Steven G. Johnson +* Steven Munn +* Ted Drain +* Terence Honles +* Thomas A Caswell +* Thomas Robitaille +* Till Stensitzki +* Tim Hoffmann +* Todd Jennings +* Tyrone Xiong +* Umar Javed +* Venkada +* vishalBindal +* Vitaly Buka +* Yue Zhihan +* Zulko + +GitHub issues and pull requests: + +Pull Requests (1066): + +* :ghpull:`17943`: Backport PR #17942 on branch v3.3.x (Increase heading level for 3.3 What's New) +* :ghpull:`17942`: Increase heading level for 3.3 What's New +* :ghpull:`17941`: Backport PR #17938 on branch v3.3.x (Don't allow 1D lists as subplot_moasic layout.) +* :ghpull:`17940`: Backport PR #17885 on branch v3.3.x (BF: ignore CLOSEPOLY after NaN in PathNanRemover) +* :ghpull:`17937`: Backport PR #17877 on branch v3.3.x (Fix drawing zoom rubberband on GTK backends.) +* :ghpull:`17938`: Don't allow 1D lists as subplot_moasic layout. +* :ghpull:`17885`: BF: ignore CLOSEPOLY after NaN in PathNanRemover +* :ghpull:`17877`: Fix drawing zoom rubberband on GTK backends. +* :ghpull:`17933`: Backport PR #17858 on branch v3.3.x (Refresh what's new page for 3.3.0) +* :ghpull:`17858`: Refresh what's new page for 3.3.0 +* :ghpull:`17919`: Backport PR #17913 on branch v3.3.x (Revert using SVG inheritance diagrams) +* :ghpull:`17913`: Revert using SVG inheritance diagrams +* :ghpull:`17911`: Backport PR #17907 on branch v3.3.x (Fix release() method name in macosx backend) +* :ghpull:`17907`: Fix release() method name in macosx backend +* :ghpull:`17903`: Backport PR #17859 on branch v3.3.x (API: resolve unset vmin / vmax in all ScalarMapple based methods) +* :ghpull:`17859`: API: resolve unset vmin / vmax in all ScalarMapple based methods +* :ghpull:`17898`: Backport PR #17882 on branch v3.3.x (Fix FFMpegBase.isAvailable with detached terminals.) +* :ghpull:`17882`: Fix FFMpegBase.isAvailable with detached terminals. +* :ghpull:`17881`: Backport PR #17871 on branch v3.3.x (Mention single char colors shading in more places) +* :ghpull:`17871`: Mention single char colors shading in more places +* :ghpull:`17872`: Backport PR #17800 on branch v3.3.x (Increase tolerance for alternate architectures) +* :ghpull:`17800`: Increase tolerance for alternate architectures +* :ghpull:`17861`: Revert "Fix linewidths and colors for scatter() with unfilled markers" +* :ghpull:`17864`: Backport PR #17862 on branch v3.3.x (CI: Install, or upgrade, Python 3 on homebrew.) +* :ghpull:`17846`: Backport PR #17844 on branch v3.3.x (Explain why Qt4 backends are deprecated) +* :ghpull:`17844`: Explain why Qt4 backends are deprecated +* :ghpull:`17833`: Backport PR #17831 on branch v3.3.x (BLD: default to system freetype on AIX) +* :ghpull:`17831`: BLD: default to system freetype on AIX +* :ghpull:`17823`: Backport PR #17821 on branch v3.3.x (FIX: Keep lists of lists of one scalar each 2D in _reshape_2D) +* :ghpull:`17821`: FIX: Keep lists of lists of one scalar each 2D in _reshape_2D +* :ghpull:`17811`: Backport PR #17797 on branch v3.3.x (Fix running contour's test_internal_cpp_api directly.) +* :ghpull:`17812`: Backport PR #17772 on branch v3.3.x (Partially fix rubberbanding in GTK3.) +* :ghpull:`17815`: Backport PR #17814 on branch v3.3.x (Don't duplicate deprecated parameter addendum.) +* :ghpull:`17814`: Don't duplicate deprecated parameter addendum. +* :ghpull:`17772`: Partially fix rubberbanding in GTK3. +* :ghpull:`17797`: Fix running contour's test_internal_cpp_api directly. +* :ghpull:`17809`: Backport PR #17801 on branch v3.3.x (BUG: Fix implementation of _is_closed_polygon) +* :ghpull:`17801`: BUG: Fix implementation of _is_closed_polygon +* :ghpull:`17796`: Backport PR #17764 on branch v3.3.x (FIX: be more careful about not importing pyplot early) +* :ghpull:`17795`: Backport PR #17781 on branch v3.3.x (Fix limit setting after plotting empty data) +* :ghpull:`17764`: FIX: be more careful about not importing pyplot early +* :ghpull:`17781`: Fix limit setting after plotting empty data +* :ghpull:`17787`: Backport PR #17784 on branch v3.3.x (Allow passing emtpy list of ticks to FixedLocator) +* :ghpull:`17784`: Allow passing empty list of ticks to FixedLocator +* :ghpull:`17766`: Backport PR #17752 on branch v3.3.x (Numpydoc-ify various functions) +* :ghpull:`17752`: Numpydoc-ify various functions +* :ghpull:`17762`: Backport PR #17742 on branch v3.3.x (Update tricontour[f] docs) +* :ghpull:`17742`: Update tricontour[f] docs +* :ghpull:`17760`: Backport PR #17756 on branch v3.3.x (Fix tk tooltips for dark themes.) +* :ghpull:`17756`: Fix tk tooltips for dark themes. +* :ghpull:`17747`: Backport PR #17731 on branch v3.3.x ("Fix" tight_layout for template backend.) +* :ghpull:`17731`: "Fix" tight_layout for template backend. +* :ghpull:`17739`: Backport PR #17734 on branch v3.3.x (Oversample thumbnail x2) +* :ghpull:`17734`: Oversample thumbnail x2 +* :ghpull:`17738`: Backport PR #17729 on branch v3.3.x (Fix type doc for scroll event "step" attribute.) +* :ghpull:`17729`: Fix type doc for scroll event "step" attribute. +* :ghpull:`17724`: Backport PR #17720 on branch v3.3.x (Fix check for manager = None.) +* :ghpull:`17720`: Fix check for manager = None. +* :ghpull:`17719`: Backport PR #17693 on branch v3.3.x (DOC: Add svg2pdf converter for generating PDF docs.) +* :ghpull:`17693`: DOC: Add svg2pdf converter for generating PDF docs. +* :ghpull:`17718`: Backport PR #17715 on branch v3.3.x (Clarify gridspec error message for non-integer inputs.) +* :ghpull:`17717`: Backport PR #17705 on branch v3.3.x (Keep cachedRenderer as None when pickling Figure.) +* :ghpull:`17715`: Clarify gridspec error message for non-integer inputs. +* :ghpull:`17705`: Keep cachedRenderer as None when pickling Figure. +* :ghpull:`17701`: Backport PR #17687 on branch v3.3.x (Mention keyboard modifiers in toolbar tooltip texts.) +* :ghpull:`17687`: Mention keyboard modifiers in toolbar tooltip texts. +* :ghpull:`17698`: Backport PR #17686 on branch v3.3.x (Fix tooltip for wx toolbar.) +* :ghpull:`17686`: Fix tooltip for wx toolbar. +* :ghpull:`17692`: Backport PR #17680 on branch v3.3.x (MNT: migrate away from deprecated c-api) +* :ghpull:`17680`: MNT: migrate away from deprecated c-api +* :ghpull:`17688`: Backport PR #17676 on branch v3.3.x (FIX: correctly process the tick label size) +* :ghpull:`17676`: FIX: correctly process the tick label size +* :ghpull:`17677`: Backport PR #17664 on branch v3.3.x (Clarify docs of AutoDateLocator.intervald) +* :ghpull:`17678`: Backport PR #17665 on branch v3.3.x (Document that some single char colors are shaded) +* :ghpull:`17679`: Backport PR #17675 on branch v3.3.x (DOC: specify that the LaTeX installation needs to include cm-super) +* :ghpull:`17675`: DOC: specify that the LaTeX installation needs to include cm-super +* :ghpull:`17665`: Document that some single char colors are shaded +* :ghpull:`17664`: Clarify docs of AutoDateLocator.intervald +* :ghpull:`17672`: Backport PR #17668 on branch v3.3.x (Don't pass "wrong" ``indent=False`` in SVG generation.) +* :ghpull:`17671`: Backport PR #17667 on branch v3.3.x (Don't linewrap css in svg header.) +* :ghpull:`17668`: Don't pass "wrong" ``indent=False`` in SVG generation. +* :ghpull:`17667`: Don't linewrap css in svg header. +* :ghpull:`17666`: Prepare for 3.3.0 rc1 +* :ghpull:`17663`: DOC: update the gh stats for v3.3.0 +* :ghpull:`17656`: Fix default colouring of Shadows +* :ghpull:`17657`: V3.2.x mergeup +* :ghpull:`17623`: Add a flag for disabling LTO. +* :ghpull:`17569`: Delay \usepackage{textcomp} until after the custom tex preamble. +* :ghpull:`17416`: Reorder NavigationToolbar2 methods. +* :ghpull:`17604`: DOC: Clarify offset notation and scientific notation +* :ghpull:`17617`: Rewrite pdf test to use check_figures_equal. +* :ghpull:`17654`: Small fixes to recent What's New +* :ghpull:`17649`: MNT: make _setattr_cm more forgiving +* :ghpull:`17644`: Doc 33 whats new consolidation +* :ghpull:`17647`: Fix example in docstring of cbook._unfold. +* :ghpull:`10187`: DOC: add a blitting tutorial +* :ghpull:`17471`: Removed idiomatic constructs from interactive figures docs +* :ghpull:`17639`: DOC: Update colormap deprecation warning to use Python's copy function. +* :ghpull:`17223`: Warn on invalid savefig keyword arguments +* :ghpull:`17625`: Give _DummyAxis instances a __name__ +* :ghpull:`17636`: Fix image vlim clipping again +* :ghpull:`17635`: Fix autoscaling with tiny sticky values. +* :ghpull:`17620`: MNT: make _setattr_cm more conservative +* :ghpull:`17621`: FIX: restore ability to pass a tuple to axes_class in axes_grid +* :ghpull:`16603`: axes collage +* :ghpull:`17622`: Fix typo in description of savefig.bbox. +* :ghpull:`17619`: Skip test_tmpconfigdir_warning when running as root. +* :ghpull:`17610`: MNT: allow 0 sized figures +* :ghpull:`17163`: Fix clipping of markers in PDF backend. +* :ghpull:`17556`: DOC: Update contributor listing in credits +* :ghpull:`17221`: Add metadata saving support to SVG. +* :ghpull:`17603`: Replace image comparison in test_axes_grid1 by geometry checks. +* :ghpull:`17428`: Doc start 33 merges +* :ghpull:`17607`: Convert adjust_bbox to use ExitStack. +* :ghpull:`17575`: DOCS: update collections.py docstrings to current doc conventions +* :ghpull:`15826`: Fix bar3d bug with matching color string and array x lengths +* :ghpull:`14507`: Simplify handling of Qt modifier keys. +* :ghpull:`17589`: Fix doc build with Sphinx < 3. +* :ghpull:`17590`: Clarify docs of set_powerlimits() +* :ghpull:`17597`: MNT: cleanup minor style issues +* :ghpull:`17183`: Update configuration of CircleCI builds +* :ghpull:`17592`: Improve docstrings of ScalarFormatter +* :ghpull:`17456`: Improve stackplot example +* :ghpull:`17545`: Improve docs of markers +* :ghpull:`17233`: Improve PDF metadata support in PGF +* :ghpull:`17086`: Remove jQuery & jQuery UI +* :ghpull:`17580`: Fix same_color() for 'none' color +* :ghpull:`17582`: Fix link in doc +* :ghpull:`17491`: DOC: Only link to overall Zenodo DOI. +* :ghpull:`17515`: FIX: add set_box_aspect, improve tight bounding box for Axes3D + fix bbox_inches support with fixed box_aspect +* :ghpull:`17581`: DOC: Remove duplicate Returns in subplot2grid. +* :ghpull:`17550`: Update subplot2grid doc to use Figure.add_gridspec, not GridSpec. +* :ghpull:`17544`: markerfacecolor should not override fillstyle='none' in plot() +* :ghpull:`15672`: Remove mention that tkagg was derived from PIL. +* :ghpull:`17573`: Examples: fix formatting issue in 'Errorbar limit selection' +* :ghpull:`17543`: Fix linewidths and colors for scatter() with unfilled markers +* :ghpull:`17448`: Add example for drawing an error band around a curve +* :ghpull:`17572`: Examples: clarity for 'set and get' example page +* :ghpull:`17276`: Allow numpy arrays in markevery +* :ghpull:`17536`: Consolidate some tests and fix a couple typos +* :ghpull:`17558`: Simplify plot_date() +* :ghpull:`17534`: Fmaussion extended boundary norm +* :ghpull:`17540`: Fix help window on GTK. +* :ghpull:`17535`: Update docs on subplot2grid / SubplotBase +* :ghpull:`17510`: Fix exception handling in FT2Font init. +* :ghpull:`16953`: Changed 'colors' paramater in PyPlot vlines/hlines and Axes vlines/hlines to default to configured rcParams 'lines.color' option +* :ghpull:`17459`: Use light icons on dark themes for wx and gtk, too. +* :ghpull:`17539`: Use symbolic icons for buttons in GTK toolbar. +* :ghpull:`15435`: Reuse png metadata handling of imsave() in FigureCanvasAgg.print_png(). +* :ghpull:`5034`: New "extend" keyword to colors.BoundaryNorm +* :ghpull:`17532`: DOC: correct legend.title_fontsize docstring +* :ghpull:`17531`: Remove unneeded check/comment re: multiprocessing in setup.py. +* :ghpull:`17522`: Privatize ttconv module. +* :ghpull:`17517`: Make sure _parent is in sync with Qt parent in NavigationToolbar2QT +* :ghpull:`17525`: DOC/API: set __qualname__ when using class factory +* :ghpull:`17511`: Fix offset legend tightbbox +* :ghpull:`16203`: Port fontconfig's font weight detection to font_manager. +* :ghpull:`17485`: Support marking a single artist as not-usetex. +* :ghpull:`17338`: Support url on more Artists in svg +* :ghpull:`17519`: Prefer demo'ing rcParams rather than rc in examples. +* :ghpull:`13457`: Give ``AnnotationBbox`` an opinion about its extent +* :ghpull:`15037`: Simplifications to errorbar(). +* :ghpull:`17493`: Update SVGs that use interpolation='none'. +* :ghpull:`15221`: Don't fallback to agg in tight_layout.get_renderer. +* :ghpull:`17512`: DOC: remove inkscape restriction in doc +* :ghpull:`17484`: Deprecate ismath parameter to draw_tex and ismath="TeX!". +* :ghpull:`17492`: Correctly set default linewidth for unfilled markers. +* :ghpull:`16908`: Adding 2d support to quadmesh set_array +* :ghpull:`17506`: Fix dicts unpacking for ``.plot`` +* :ghpull:`17496`: Fix some incorrect image clipping +* :ghpull:`17340`: convert some sample plots to use plt.subplots() instead of other methods +* :ghpull:`17504`: Undocument parameter orientation of bar() +* :ghpull:`13884`: Add some documentation for axisartist's ExtremeFinder, plus some cleanups. +* :ghpull:`17495`: Fix Pillow import in testing. +* :ghpull:`17462`: Inline FigureCanvasGtkFoo._render_figure. +* :ghpull:`17474`: Numpydocify RectangleSelector docstring. +* :ghpull:`17003`: Optimize extensions with LTO and hidden visibility +* :ghpull:`17489`: BUG: Picking vertical line broken +* :ghpull:`17486`: Simplify handling of fontproperties=None. +* :ghpull:`17478`: Add support for blitting in qt5cairo. +* :ghpull:`15641`: Make get_sample_data autoload npy/npz files. +* :ghpull:`17481`: Fix LightSource.shade on fully unmasked array. +* :ghpull:`17289`: Prepare for ragged array warnings in NumPy 1.19 +* :ghpull:`17358`: Fix masked CubicTriInterpolator +* :ghpull:`17477`: DOC: Use Sphinx-gallery animation capture +* :ghpull:`17482`: Shorten RectangleSelector._release. +* :ghpull:`17475`: Cleanup RectangleSelector example. +* :ghpull:`17461`: Deprecate the private FigureCanvasGTK3._renderer_init. +* :ghpull:`17464`: Fold _make_nseq_validator into _listify_validator. +* :ghpull:`17469`: Use qVersion, not QT_VERSION_STR -- the latter doesn't exist in PySide2. +* :ghpull:`4779`: DOC: Start to document interactive figures +* :ghpull:`17458`: Cleanup C++ code +* :ghpull:`17466`: DOC: clarify that milestones are intentions not approvals +* :ghpull:`17062`: Fix to "exported SVG files blurred in viewers" +* :ghpull:`17443`: Fix rcParams validator for dashes. +* :ghpull:`17350`: Move integerness checks to SubplotSpec._from_subplot_args. +* :ghpull:`17444`: Support odd-length dash patterns in Agg. +* :ghpull:`17405`: Show the failing line in bad-rcparams warnings. +* :ghpull:`17452`: Make validate_date throw ValueError, not RuntimeError. +* :ghpull:`17439`: Remove comment re: validation of datetime format strings. +* :ghpull:`17438`: Discourage use of proprietary Matplotlib names for freetype hinting +* :ghpull:`16990`: update testing helpers +* :ghpull:`16340`: Make set_x/ymargin() update axes limits, just like margins(). +* :ghpull:`15029`: Get default params from matplotlibrc.template. +* :ghpull:`17363`: Fix toolbar separators in wx+toolmanager. +* :ghpull:`17348`: Avoid creating a Tick in Axis.get_tick_space. +* :ghpull:`15725`: Changed line color of boxplot for dark_background +* :ghpull:`17362`: Remove status bars in toolmanager mode as well. +* :ghpull:`16551`: DOC: be more opinionated about flags passed to pip +* :ghpull:`17328`: Fixes icon clipping issue with WxAgg NavigationToolbar2 for wxpython 4.1.0 +* :ghpull:`17425`: fix typo in stem doc +* :ghpull:`17415`: Cygwin fixes +* :ghpull:`17401`: FIX: Fix for FFmpeg + GIF +* :ghpull:`16569`: MNT: improve the error message in Path init +* :ghpull:`17404`: Don't forget to dlclose() main_program in tkagg init. +* :ghpull:`17414`: Keep validate_date private. +* :ghpull:`17413`: Revert "DOC: drop the experimental tag constrained_layout and tight_layout" +* :ghpull:`17394`: Deprecate passing keys to update_keymap as single comma-separated string +* :ghpull:`17395`: TexManager fixes. +* :ghpull:`17399`: Remove qt4 backends from backend fallback candidates. +* :ghpull:`17392`: Clarify deprecation message re: tex/pgf preambles as list-of-strings. +* :ghpull:`17400`: Cleanup wx examples. +* :ghpull:`17378`: Fix marker overlap +* :ghpull:`17351`: Fix running the test suite with inkscape>=1. +* :ghpull:`17382`: FIX: properly check figure on gridspec +* :ghpull:`17390`: Small updates to troubleshooting guide. +* :ghpull:`15104`: Simplify file handling in ft2font. +* :ghpull:`17380`: Support standard names for freetype hinting flags. +* :ghpull:`15594`: Fix marker overlap +* :ghpull:`17372`: Auto-set artist.mouseover based on if get_cursor_data is overridden. +* :ghpull:`17377`: Remove code for sphinx < 1.8 +* :ghpull:`17266`: Keep explicit ticklabels in sync with ticks from FixedLocator +* :ghpull:`17359`: Fix running test_internal_cpp_api directly. +* :ghpull:`17355`: Change subprocess for inkscape version detection +* :ghpull:`17369`: CI: Add eslint for JS linting +* :ghpull:`17226`: Replace backend_driver by new example runner. +* :ghpull:`17365`: Also use light color tool buttons in qt+toolmanager+dark theme. +* :ghpull:`17366`: Restrict Qt toolbars to top/bottom of canvas. +* :ghpull:`17361`: Remove randomness from test_colorbar_get_ticks_2. +* :ghpull:`17151`: Cleanup colors.py docstrings. +* :ghpull:`17287`: Make API of get_tightbbox more consistent between Axes and Axis. +* :ghpull:`17092`: Don't create a statusbar in Qt, wx backends. +* :ghpull:`17220`: Simplify Annotation and Text bbox drawing. +* :ghpull:`17353`: Make zooming work in qt-embedding example. +* :ghpull:`16727`: Update xtick.alignment parameter in rcsetup to validate against correct values +* :ghpull:`17236`: Add the "contour.linewidths" configuration option +* :ghpull:`16328`: Make Artist.set() apply properties in the order in which they are given. +* :ghpull:`9696`: FIX: set_url() without effect in the plot for instances of Tick +* :ghpull:`17002`: Fix AnnotationBbox picking and a bit of cleanup +* :ghpull:`17256`: Improve ps handling of individual usetex strings. +* :ghpull:`17267`: Improve image comparison decorator +* :ghpull:`17332`: Cleanup docstring of subplots(). +* :ghpull:`16843`: Deprecate is_pyqt5. +* :ghpull:`15898`: New textcolor kwarg for legend +* :ghpull:`17333`: Make sharex, etc. args of subplots() keyword-only. +* :ghpull:`17329`: Improve docs of eventplot() +* :ghpull:`17330`: Remove pnpoly license. +* :ghpull:`13656`: For single datasets, don't wrap artist added by Axes.hist in silent_list +* :ghpull:`16247`: DOC added kwargs and tight_layout description in plt.figure +* :ghpull:`16992`: Implement FigureManager.resize for macosx backend +* :ghpull:`17324`: DOC: add offset axes to secondary_axes +* :ghpull:`17311`: Make pyplot signatures of rgrids() and thetagrids() explicit +* :ghpull:`17302`: Fix alignment of offset text on top axis. +* :ghpull:`14421`: Add GridSpec.subplots() +* :ghpull:`15111`: By default, don't change the figure face/edgecolor on savefig(). +* :ghpull:`17318`: both x and y should multiply the radius +* :ghpull:`17309`: Cleanup parameter types in docstrings +* :ghpull:`17308`: Improve docs of bar() and barh() +* :ghpull:`17312`: changed axis to axes in lifecycle tutorial +* :ghpull:`16715`: Automatically create tick formatters for str and callable inputs. +* :ghpull:`16959`: Simplify and robustify ConnectionPatch coordinates conversion. +* :ghpull:`17306`: FIX: CL more stable +* :ghpull:`17301`: Use deprecate_privatize_attribute more. +* :ghpull:`16985`: Adds normalize kwarg to pie function +* :ghpull:`5243`: Enhancement of tick label offset text positioning +* :ghpull:`17292`: Deprecate various wx Toolbar attributes. +* :ghpull:`17297`: Simplify pickling support. +* :ghpull:`17298`: Fix rubberband in tk. +* :ghpull:`17299`: Avoid "dash motion" in qt zoom box. +* :ghpull:`17200`: Implement set_history_buttons for Tk toolbar. +* :ghpull:`16798`: Make the Qt interactive zoom rectangle black & white. +* :ghpull:`17296`: Fix doc wording +* :ghpull:`17282`: Don't divide by zero in Line2D.segment_hits. +* :ghpull:`17293`: Fix incorrect deprecation. +* :ghpull:`17285`: V32 mergeup +* :ghpull:`15933`: Warn if a temporary config/cache dir must be created. +* :ghpull:`15911`: Use os.getpid() in configdir, to avoid multiprocess concurrency issues +* :ghpull:`17277`: Move slow FontManager warning to FontManager constructor. +* :ghpull:`17222`: FIX: long titles x/ylabel layout +* :ghpull:`14960`: Don't generate individual doc entries for inherited Axes/Axis/Tick methods +* :ghpull:`17175`: Further sync axes_grid colorbars with standard colorbars. +* :ghpull:`17030`: Move widget functions into matplotlib.testing.widgets. +* :ghpull:`16975`: Fix "out of bounds" undefined behavior +* :ghpull:`17111`: Deprecate NavigationToolbar2._init_toolbar. +* :ghpull:`15275`: adds turbo colormap +* :ghpull:`17174`: Inline RGBAxes._config_axes to its only call site. +* :ghpull:`17156`: Deprecate text.latex.preview rcParam. +* :ghpull:`17242`: Make deprecations versions explicit +* :ghpull:`17165`: Small optimizations to scale and translate of Affine2D +* :ghpull:`17181`: Inline some private helper methods in ColorbarBase + small refactors. +* :ghpull:`17264`: Don't trigger save when gtk save dialog is closed by escape. +* :ghpull:`17262`: fix typo in set_clip_on doc +* :ghpull:`17234`: Shorten and privatize qt's UiSubplotTool. +* :ghpull:`17137`: Deprecate Toolbar.press/release; add helper to find overridden methods. +* :ghpull:`17245`: Improve error handling in _parse_scatter_color_args +* :ghpull:`15008`: ENH: add variable epoch +* :ghpull:`17260`: Text Rotation Example: Correct roation_mode typo +* :ghpull:`17258`: Improve info logged by tex subsystem. +* :ghpull:`17211`: Deprecate support for running svg converter from path contaning newline. +* :ghpull:`17078`: Improve nbAgg & WebAgg toolbars +* :ghpull:`17191`: Inline unsampled-image path; remove renderer kwarg from _check_unsampled_image. +* :ghpull:`17213`: Replace use of Bbox.bounds by appropriate properties. +* :ghpull:`17219`: Add support for suptitle() in tight_layout(). +* :ghpull:`17235`: More axisartist cleanups +* :ghpull:`17239`: Remove deprecations that expire in 3.3 +* :ghpull:`13696`: Deprecate offset_position="data". +* :ghpull:`16991`: Begin warning on modifying global state of colormaps +* :ghpull:`17053`: Replace most jQuery with vanilla JavaScript +* :ghpull:`17228`: Make params to pyplot.tight_layout keyword-only. +* :ghpull:`17225`: Remove Patch visibility tracking by Legend & OffsetBox. +* :ghpull:`17027`: Fix saving nbAgg figure after a partial blit +* :ghpull:`16847`: Ticks are not markers +* :ghpull:`17229`: Autogenerate subplots_adjust with boilerplate.py. +* :ghpull:`17209`: Simplify some axisartist code. +* :ghpull:`17204`: Draw unfilled hist()s with the zorder of lines. +* :ghpull:`17205`: Shorten tight_layout code. +* :ghpull:`17218`: Document ``Transform.__add__`` and ``.__sub__``. +* :ghpull:`17215`: Small cleanups. +* :ghpull:`17212`: Cleanup text.py. +* :ghpull:`17196`: Move polar tests to their own module. +* :ghpull:`14747`: Deprecate AxisArtist.dpi_transform. +* :ghpull:`13144`: Deprecate NavigationToolbar2GTK3.ctx. +* :ghpull:`17202`: DOC: Remove extra word +* :ghpull:`17194`: Small cleanups/simplifications/fixes to pie(). +* :ghpull:`17102`: Switch tk pan/zoom to use togglable buttons. +* :ghpull:`16832`: Correctly compute path extents +* :ghpull:`17193`: Document docstring quote convention +* :ghpull:`17195`: Fix polar tests. +* :ghpull:`17189`: Make all parameters of ColorbarBase, except ``ax``, keyword-only. +* :ghpull:`16717`: Bugfix for issue 16501 raised ValueError polar subplot with (thetamax - thetamin) > 2pi +* :ghpull:`17180`: Doc: spines arrows example +* :ghpull:`17184`: Fix various small typos. +* :ghpull:`17143`: Move linting to GitHub Actions with reviewdog. +* :ghpull:`17160`: Correctly go through property setter when init'ing Timer interval. +* :ghpull:`17166`: Deprecate ScalarMappable.check_update and associated machinery. +* :ghpull:`17177`: Manually linewrap PS hexlines. Fixes #17176 +* :ghpull:`17162`: Update docs of rc_context() +* :ghpull:`17170`: Convert SubplotZero example into centered-spines-with-arrows recipe. +* :ghpull:`17164`: Fix Figure.add_axes(rect=...). +* :ghpull:`17154`: DOC: Fix some warning and unreproducibility +* :ghpull:`17169`: Clarify that draw_event occurs after the canvas draw. +* :ghpull:`17089`: Cleanup some imports in tests +* :ghpull:`17040`: Improve docs on automated tests +* :ghpull:`17145`: CI: run pydocstyle with our custom options +* :ghpull:`16864`: Check parameter type for legend(labels) +* :ghpull:`17146`: FigureManager/NavigationToolbar2 cleanups. +* :ghpull:`16933`: Add tests for toolmanager. +* :ghpull:`17127`: ENH: allow title autopositioning to be turned off +* :ghpull:`17150`: Many docstring cleanups. +* :ghpull:`17148`: Fix most instances of D404 ("docstring should not start with 'this'"). +* :ghpull:`17142`: BUGFIX: conditional for add_axes arg deprecation +* :ghpull:`17032`: Fold table.CustomCell into Cell. +* :ghpull:`17117`: TextBox improvements. +* :ghpull:`17108`: Make widgets.TextBox work also when embedding. +* :ghpull:`17135`: Simplify pan/zoom toggling. +* :ghpull:`17134`: Don't override update() in NavigationToolbar2Tk. +* :ghpull:`17129`: In docs remove 'optional' if 'default' can be given +* :ghpull:`16963`: Deprecate Locator.refresh and associated helpers. +* :ghpull:`17133`: Fix Button widget motion callback. +* :ghpull:`17125`: Make multiline docstrings start with a newline. +* :ghpull:`17124`: Widgets cleanup. +* :ghpull:`17123`: Cleanup/Simplify Cell._set_text_position. +* :ghpull:`16862`: FIX: turn off title autopos if pad is set +* :ghpull:`15214`: Inline wx icon loading. +* :ghpull:`16831`: Simplify interactive zoom handling. +* :ghpull:`17094`: DOC: drop the experimental tag constrained_layout and tight_layout +* :ghpull:`17101`: Avoid "wrapped C/C++ object has been deleted" when closing wx window. +* :ghpull:`17028`: Changed return type of get_{x,y}ticklabels to plain list +* :ghpull:`16058`: Deprecate {ContourSet,Quiver}.ax in favor of .axes. +* :ghpull:`15349`: Use checkboxes as bullet points for the PR review checklists +* :ghpull:`17112`: Fix some link redirects in docs +* :ghpull:`17090`: DOCS: add examples of how one "should" use Bbox +* :ghpull:`17110`: Simplify connection of the default key_press and button_press handlers. +* :ghpull:`17070`: Cleanups to Qt backend. +* :ghpull:`16776`: Make cursor text precision actually correspond to pointing precision. +* :ghpull:`17026`: Add eslint & prettier, and re-format JS +* :ghpull:`17091`: Make sure slider uses "x" sign before multiplicative factor. +* :ghpull:`17082`: Cleanup TextBox implementation. +* :ghpull:`17067`: Simplify and generalize _set_view_from_bbox. +* :ghpull:`17081`: Update animation_api.rst +* :ghpull:`17077`: Improve default formatter for Slider values. +* :ghpull:`17079`: Use True instead of 1 for boolean parameters. +* :ghpull:`17074`: Fixed a typo in Lifecycle of a Plot +* :ghpull:`17072`: Cleanup multi_image example. +* :ghpull:`15287`: Allow sharex/y after axes creation. +* :ghpull:`16987`: Deprecate case-insensitive properties. +* :ghpull:`17059`: More missing refs fixes, and associated doc rewordings. +* :ghpull:`17057`: Simplify subgridspec example/tutorial. +* :ghpull:`17058`: Fix minor doc typos. +* :ghpull:`17024`: Clarify docs of Rectangle +* :ghpull:`17043`: Avoid spurious deprecation warning in TextBox. +* :ghpull:`17047`: Highlighted .cbook.warn_deprecated() in contributing.rst +* :ghpull:`17054`: Use slope in axline example +* :ghpull:`17048`: More missing refs fixes. +* :ghpull:`17021`: File name made more understandable +* :ghpull:`16903`: Shorten implementation of Axes methods that just wrap Axis methods. +* :ghpull:`17039`: Cleanups to contour docs. +* :ghpull:`17011`: ci: Publish result images as Azure artifacts. +* :ghpull:`17038`: Improve readability of documenting_mpl.rst +* :ghpull:`16996`: Clean up get_proj() docstring (used view_init docstring as reference) +* :ghpull:`17019`: Add return field to documentation of 'get_major_ticks' +* :ghpull:`16999`: Add section on artifacts to imshow docs +* :ghpull:`17029`: Fix table.Cell docstrings. +* :ghpull:`17025`: Fix RecursionError when closing nbAgg figures. +* :ghpull:`16971`: Don't change Figure DPI if value unchanged +* :ghpull:`16972`: Fix resize bugs in GTK +* :ghpull:`17008`: Change the description of Rectangle's xy parameter +* :ghpull:`16337`: Create axline() using slope +* :ghpull:`16947`: Fix missing parameter initialization in Axes.specgram() +* :ghpull:`17001`: Cleanup imshow_extent tutorial. +* :ghpull:`17000`: More stringent eventplot orientations. +* :ghpull:`16771`: Deprecate non-string values as legend labels +* :ghpull:`15910`: Simplify init of EventCollection. +* :ghpull:`16998`: Made INSTALL.rst consistent +* :ghpull:`15393`: Cleanup shape manipulations. +* :ghpull:`10924`: Clear() methods to Radio and CheckButtons and other improvements +* :ghpull:`16988`: Make plt.{r,theta}grids act as setters even when all args are kwargs. +* :ghpull:`16986`: update tox.ini to match pythons supported and allow flags for pytest +* :ghpull:`16111`: Move locking of fontlist.json *into* json_dump. +* :ghpull:`13110`: Slightly tighten the Bbox/Transform API. +* :ghpull:`16973`: TST: don't actually render 1k+ date ticks +* :ghpull:`16967`: Simplify animation writer fallback. +* :ghpull:`16812`: Bezier/Path API Cleanup: fix circular import issue +* :ghpull:`16968`: Add link to 3.2 min-supported-requirements. +* :ghpull:`16957`: Remove unused, private aliases Polygon._{get,set}_xy. +* :ghpull:`16960`: Improve error for quoted values in matplotlibrc. +* :ghpull:`16530`: Fix violinplot support list of pandas.Series +* :ghpull:`16939`: Cleanup/tighten axes_grid. +* :ghpull:`16942`: Cleanup and avoid refleaks OSX Timer__timer_start. +* :ghpull:`16944`: TST: update default junit_family +* :ghpull:`16823`: Dedupe implementation of axes grid switching in toolmanager. +* :ghpull:`16951`: Cleanup dates docstrings. +* :ghpull:`16769`: Fix some small style issues +* :ghpull:`16936`: FIX: Plot is now rendered with correct inital value +* :ghpull:`16937`: Making sure to keep over/under/bad in cmap resample/reverse. +* :ghpull:`16915`: Tighten/cleanup wx backend. +* :ghpull:`16923`: Test the macosx backend on Travis. +* :ghpull:`15369`: Update style docs +* :ghpull:`16893`: Robustify ``AffineBase.__eq__`` against comparing to other classes. +* :ghpull:`16904`: Turn fontdict & minor into kwonly parameters for set_{x,y}ticklabels. +* :ghpull:`16917`: Add test for close_event. +* :ghpull:`16920`: Remove unused _read_ppm_image from macosx.m. +* :ghpull:`16877`: Cleanup new_fixed_axis examples. +* :ghpull:`15049`: Annotate argument in axes class match upstream +* :ghpull:`16774`: Cleanup demo_axes_hbox_divider. +* :ghpull:`16873`: More fixes to pydocstyle D403 (First word capitalization) +* :ghpull:`16896`: set_tick_params(label1On=False) should also make offset text invisible. +* :ghpull:`16907`: Fix typo in implementation of quit_all_keys. +* :ghpull:`16900`: Document and test common_texification() +* :ghpull:`16902`: Remove dot from suffix in testing.compare. +* :ghpull:`16828`: Use more _setattr_cm, thus fix Text('').get_window_extent(dpi=...) +* :ghpull:`16901`: Cleanup many docstrings. +* :ghpull:`16840`: Deprecate support for Qt4. +* :ghpull:`16899`: Remove optional returns from TriAnalyzer._get_compressed_triangulation. +* :ghpull:`16618`: Use SubplotSpec row/colspans more, and deprecate get_rows_columns. +* :ghpull:`15392`: Autoscale for ax.arrow() +* :ghpull:`14626`: Add support for minor ticks in 3d axes. +* :ghpull:`16897`: Add back missing import. +* :ghpull:`14725`: Move the debug-mode TransformNode.write_graphviz out. +* :ghpull:`15437`: Improve handling of alpha when saving to jpeg. +* :ghpull:`15606`: Simplify OldAutoLocator and AutoDateLocator. +* :ghpull:`16863`: Shortcut for closing all figures +* :ghpull:`16876`: Small cleanups to dviread. +* :ghpull:`15680`: Use more kwonly arguments, less manual kwargs-popping. +* :ghpull:`15318`: Deprecate unused rcParams["animation.html_args"]. +* :ghpull:`15303`: Make it possible to use rc_context as a decorator. +* :ghpull:`16890`: Enables hatch alpha on SVG +* :ghpull:`16887`: Shorter event mocking in tests. +* :ghpull:`16881`: Validate tickdir strings +* :ghpull:`16846`: Disconnect manager when resizing figure for animation saving. +* :ghpull:`16871`: Shorter Path import in setupext. +* :ghpull:`16892`: Warn in the docs that MouseEvent.key can be wrong. +* :ghpull:`16209`: Dedupe boilerplate for "adoption" of figure into pyplot. +* :ghpull:`16098`: Deprecate parameter props of Shadow +* :ghpull:`15747`: Move Text init to end of Annotation init. +* :ghpull:`15679`: np.concatenate cleanups. +* :ghpull:`16778`: Remove more API deprecated in 3.1(part 7) +* :ghpull:`16886`: Finish removing mentions of idle_event. +* :ghpull:`16882`: Fix trivial docstring typos. +* :ghpull:`16874`: Fix pydocstyle D209 (Multi-line docstring closing separate line) +* :ghpull:`14044`: Remove font preamble caching in TexManager. +* :ghpull:`16724`: Fixed incorrect colour in ErrorBar when Nan value is presented +* :ghpull:`15254`: Propagate signature-modifying decorators to pyplot wrappers. +* :ghpull:`16868`: Update release guide +* :ghpull:`14442`: In the build, declare all (compulsory) extension modules together. +* :ghpull:`16866`: Cleanup/update deprecations. +* :ghpull:`16850`: use validate_[cap/join]style +* :ghpull:`16858`: Fix various numpydoc style issues +* :ghpull:`16848`: Cleanup CI setup +* :ghpull:`16845`: Fix checking of X11 builds with PySide2. +* :ghpull:`14199`: Deprecate Path helpers in bezier.py +* :ghpull:`16838`: Inline some more kwargs into setup.py's setup() call. +* :ghpull:`16841`: Cleanup errorbar subsampling example +* :ghpull:`16839`: spines doc cleanup +* :ghpull:`16844`: fix example hist(density=...) +* :ghpull:`16827`: Fix warnings in doc examples +* :ghpull:`16772`: Remove more API deprecated in 3.1 +* :ghpull:`16822`: fix bug where make_compound_path kept all STOPs +* :ghpull:`16819`: Destroy figures by manager instance, not by number. +* :ghpull:`16824`: Deprecate NavigationToolbar2QT.parent. +* :ghpull:`16825`: Don't use deprecated Gtk add_with_viewport. +* :ghpull:`16816`: Merge v3.2.x into master +* :ghpull:`16786`: Simple cleanups to formatters. +* :ghpull:`16807`: Update barchart_demo. +* :ghpull:`16804`: Deprecate some mathtext glue helper classes. +* :ghpull:`16808`: One more instance of check_in_list. +* :ghpull:`16802`: Fix incorrect super class of VCentered. +* :ghpull:`16789`: Update markup for collections docstrings. +* :ghpull:`16781`: Update image tutorial wrt. removal of native png handler. +* :ghpull:`16787`: Avoid vstack() when possible. +* :ghpull:`16689`: Add a fast path for NumPy arrays to Collection.set_verts +* :ghpull:`15373`: Further shorten quiver3d computation... +* :ghpull:`16780`: Don't import rcParams but rather use mpl.rcParams (part 3) +* :ghpull:`16775`: Cleanup axes_divider examples. +* :ghpull:`15949`: Simplify implementation of SubplotTool. +* :ghpull:`14869`: Deduplicate code for text-to-path conversion in svg backend. +* :ghpull:`16527`: Validate positional parameters of add_subplot() +* :ghpull:`15622`: Cleanup mpl_toolkits locators. +* :ghpull:`16744`: Reword axes_divider tutorial. +* :ghpull:`16746`: Reword colorbar-with-axes-divider example. +* :ghpull:`15211`: Various backend cleanups. +* :ghpull:`15890`: Remove API deprecated in 3.1 (part 2) +* :ghpull:`16757`: Simplify interactive zoom handling. +* :ghpull:`15515`: Combine withEffect PathEffect definitions. +* :ghpull:`15977`: pgf backend cleanups. +* :ghpull:`15981`: Reuse colorbar outline and patch when updating the colorbar. +* :ghpull:`14852`: Use Path.arc() to interpolate polar arcs. +* :ghpull:`16686`: Deprecate Substitution.from_params. +* :ghpull:`16675`: Vectorize patch extraction in Axes3D.plot_surface +* :ghpull:`15846`: Standardize signature mismatch error messages. +* :ghpull:`16740`: Fix type of ``dpi`` in docstrings. +* :ghpull:`16741`: Dedupe RGBAxes examples. +* :ghpull:`16755`: Reword docstring of panning callbacks, and pass them a MouseButton. +* :ghpull:`16749`: Document behavior of savefig("extensionless-name"). +* :ghpull:`16754`: Cleanup image.py. +* :ghpull:`14606`: Generic cleanup to hist(). +* :ghpull:`16692`: Allow MarkerStyle instances as input for lines +* :ghpull:`15479`: Cleanup axes_rgb. +* :ghpull:`16617`: Use Path(..., closed=True) more. +* :ghpull:`16710`: Make format_coord messagebox resize with the window and the content in osx backend +* :ghpull:`16681`: Simplify docstring interpolation for Box/Arrow/ConnectionStyles. +* :ghpull:`16576`: Deprecate arg-less calls to subplot_class_factory (and similar factories) +* :ghpull:`16652`: Deprecate {Locator,Axis}.{pan,zoom}. +* :ghpull:`16596`: Deprecate dviread.Encoding. +* :ghpull:`16231`: Deprecate JPEG-specific kwargs and rcParams to savefig. +* :ghpull:`16636`: Deprecate autofmt_xdate(which=None) to mean which="major". +* :ghpull:`16644`: Deprecate validate_webagg_address. +* :ghpull:`16619`: Fix overindented lines. +* :ghpull:`15233`: backend_ps cleanup. +* :ghpull:`16604`: Deprecate more rc validators. +* :ghpull:`16601`: Small unrelated cleanups. +* :ghpull:`16584`: Rename font_bunch to psfont in textpath. +* :ghpull:`16023`: Dedupe implementations of fill_between & fill_betweenx. +* :ghpull:`16485`: Simplify validate_color_for_prop_cycle. +* :ghpull:`16285`: Deprecate RendererCairo.font{weights,angles} +* :ghpull:`16410`: Fix support for empty usetex strings. +* :ghpull:`11644`: Add feature to fallback to stix font in mathtext +* :ghpull:`16537`: Delay checking for existence of postscript distillers. +* :ghpull:`16351`: Group all init of Legend.legendPatch together. +* :ghpull:`15988`: Refactor Annotation properties. +* :ghpull:`16421`: Shorten the type1-to-unicode name table. +* :ghpull:`16200`: Deprecate Artist.{set,get}_contains. +* :ghpull:`15828`: Deprecate support for dash-offset = None. +* :ghpull:`16338`: Document SymmetricalLogLocator parameters. +* :ghpull:`16504`: DOC: more pcolor fixes +* :ghpull:`15996`: Cleanup axes_size. +* :ghpull:`16108`: Deprecate DraggableBase.on_motion_blit. +* :ghpull:`16706`: Fix exception causes all over the codebase +* :ghpull:`15855`: Simplify 3d axes callback setup. +* :ghpull:`16219`: Simplify CallbackRegistry pickling. +* :ghpull:`16002`: relax two test tolerances on x86_64 +* :ghpull:`16063`: Make the signature of Axes.draw() consistent with Artist.draw(). +* :ghpull:`16177`: Further simplify setupext. +* :ghpull:`16191`: Make Figure._axobservers a CallbackRegistry. +* :ghpull:`16698`: Small edits to toolkits docs. +* :ghpull:`15430`: Simplify setupext.download_or_cache. +* :ghpull:`16694`: Lower Text's FontProperties priority when updating +* :ghpull:`16511`: Add more detailed kwargs docstrings to Axes methods. +* :ghpull:`16653`: Tutorials: make path/URL option clearer in matplotlibrc tutorial +* :ghpull:`16697`: Update docstrings for plot_directive. +* :ghpull:`16684`: Fix exception causes in 19 modules +* :ghpull:`16674`: Docstring + import cleanups to legend.py. +* :ghpull:`16683`: Turn mathtext.GlueSpec into a (private) namedtuple. +* :ghpull:`16660`: Cleanup fancybox_demo. +* :ghpull:`16691`: Clarify tiny comment re: AnnotationBbox constructor. +* :ghpull:`16676`: Cleanup animation docstrings. +* :ghpull:`16673`: DOC: correct title_fontsize docstring +* :ghpull:`16669`: DOC: update doc release guide +* :ghpull:`16563`: Parametrize imshow antialiased tests. +* :ghpull:`16658`: In docs, add multi-axes connectionpatches to Figure, not Axes. +* :ghpull:`16647`: Update annotation tutorial. +* :ghpull:`16638`: Remove unused, outdated division operators on jpl_units. +* :ghpull:`16509`: Add custom math fallback +* :ghpull:`16609`: Fix exception causes in rcsetup.py +* :ghpull:`16637`: Update docstrings in figure.py. +* :ghpull:`16534`: DOC: MaxNLocator and contour/contourf doc update (replaces #16428) +* :ghpull:`16597`: close #16593: setting ecolor turns off color cycling +* :ghpull:`16615`: Update custom boxstyles example. +* :ghpull:`16610`: Added graphviz_docs to conf.py +* :ghpull:`16608`: Stricter validation of rcParams["axes.axisbelow"]. +* :ghpull:`16614`: Cleanup quiver3d examples. +* :ghpull:`16556`: Make backend_ps test robust against timestamp changes in ghostscript. +* :ghpull:`16602`: Cleanup testing.compare. +* :ghpull:`16575`: Style fix for dynamic axes subclass generation in mpl_toolkits. +* :ghpull:`16587`: Remove warnings control from tests.py. +* :ghpull:`16599`: Cleanup dolphin example. +* :ghpull:`16586`: Deprecate recursionlimit kwarg to matplotlib.test(). +* :ghpull:`16595`: Minor docstring/references update. +* :ghpull:`16579`: Update usetex_fonteffects example. +* :ghpull:`16578`: Use rc() less often in examples/tutorials. +* :ghpull:`16572`: Remove some remnants of hist{,2d}(normed=...). +* :ghpull:`16491`: Expire the _rename_parameters API changes. +* :ghpull:`14592`: In SecondaryAxis.set_functions, reuse _set_scale's parent scale caching. +* :ghpull:`16279`: STY: Fix underindented continuation lines. +* :ghpull:`16549`: Improve documentation for examples/widgets/textbox.py +* :ghpull:`16560`: Update URL to pyparsing. +* :ghpull:`16292`: More edits to Normalize docstrings. +* :ghpull:`16536`: API/TST: minimum versions +* :ghpull:`16559`: 3D example avoid using statefull .gca() +* :ghpull:`16553`: DOC: clarify the expected shapes of eventplot input +* :ghpull:`16535`: Clarify docs of num parameter of plt.figure() +* :ghpull:`16547`: Reformat/reword mathtext docstrings. +* :ghpull:`16545`: Add a smoketest for ps.usedistiller="xpdf". +* :ghpull:`16529`: Deprecate toggling axes navigatability using the keyboard. +* :ghpull:`16521`: Remove more API deprecated in 3.1. +* :ghpull:`16481`: Update set_thetalim documentation +* :ghpull:`16524`: Cleanup docstrings +* :ghpull:`16540`: Cleanup imports +* :ghpull:`16429`: CI: update codecov +* :ghpull:`16533`: Recommend to amend pull requests +* :ghpull:`16531`: Also deprecate ignorecase ValidateInStrings. +* :ghpull:`16428`: DOC: MaxNLocator and contour/contourf doc update +* :ghpull:`16525`: Don't import rcParams but rather use mpl.rcParams (part 2) +* :ghpull:`16528`: Improve test failure messages on warnings. +* :ghpull:`16393`: Shorten PyFT2Font_get_charmap. +* :ghpull:`16483`: Deprecate most ValidateInStrings validators. +* :ghpull:`16523`: Reorder mathtext rcparams in matplotlibrc template. +* :ghpull:`16520`: Update a comment re: minimum version of numpy working around bug. +* :ghpull:`16522`: Fix deprecation warning +* :ghpull:`16515`: Fix doc for set_{x,y}label, and then some more. +* :ghpull:`16516`: Fixes to boxplot() docstring & error messages. +* :ghpull:`16508`: Multi-dim transforms are non-separable by default. +* :ghpull:`16507`: Factor out common parts of ``__str__`` for Transform subclasses. +* :ghpull:`16514`: Various delayed PR reviews +* :ghpull:`16512`: Fix a bunch of random typos. +* :ghpull:`16510`: Doc markup cleanups. +* :ghpull:`16500`: Dedupe timer attribute docs. +* :ghpull:`16503`: DOC: suppress warning on pcolor demo +* :ghpull:`16495`: Deemphasize basemap in user-facing docs. +* :ghpull:`16484`: Don't forget to set stretch when exporting font as svg reference. +* :ghpull:`16486`: Simplify validate_color, and make it slightly stricter. +* :ghpull:`16246`: Avoid using FontProperties when not needed. +* :ghpull:`16432`: Prefer geomspace() to logspace(). +* :ghpull:`16099`: Consistently name callback arguments event instead of evt +* :ghpull:`16477`: Remove some APIs deprecated in mpl3.1. +* :ghpull:`16475`: Use vlines() and plot(), not stem(), in timeline example. +* :ghpull:`16474`: Switch default of stem(use_line_collection=...) to True. +* :ghpull:`16467`: Convert named_colors example to use Rectangle +* :ghpull:`16047`: Remove more API deprecated in 3.1 +* :ghpull:`16373`: Fix usetex_baseline_test. +* :ghpull:`16433`: Simplify demo_curvelinear_grid2. +* :ghpull:`16472`: Fix mplot3d projection +* :ghpull:`16092`: Deprecate clear_temp param/attr of FileMovieWriter. +* :ghpull:`15504`: Warn when trying to start a GUI event loop out of the main thread. +* :ghpull:`15023`: Simplify formatting of matplotlibrc.template. +* :ghpull:`13535`: Validate inputs to ScalarMappable constructor +* :ghpull:`16469`: FIX: colorbar minorticks when rcParams['x/ytick.minor.visible'] = True +* :ghpull:`16401`: BLD: Auto-detect PlatformToolset +* :ghpull:`16024`: Keep parameter names in preprocess_data. +* :ghpull:`13390`: Make sure that scatter3d copies its inputs. +* :ghpull:`16107`: Deprecate DraggableBase.artist_picker. +* :ghpull:`16455`: Update some docstrings in colors.py +* :ghpull:`16456`: Enable more font_manager tests to be run locally. +* :ghpull:`16459`: Update backend dependency docs. +* :ghpull:`16444`: Dedupe spectral plotting tests. +* :ghpull:`16460`: Remove some mentions of avconv, following its deprecation. +* :ghpull:`16443`: Parametrize some spectral tests. +* :ghpull:`16204`: Expire deprecation of \mathcircled +* :ghpull:`16446`: Replace matshow baseline test by check_figures_equal. +* :ghpull:`16418`: Backend timer simplifications. +* :ghpull:`16454`: Use pytest.raises(match=...) +* :ghpull:`14916`: Make kwargs names in scale.py not include the axis direction. +* :ghpull:`16258`: ENH: add shading='nearest' and 'auto' to ``pcolormesh`` +* :ghpull:`16228`: Allow directly passing explicit font paths. +* :ghpull:`16445`: Remove a bunch of imports-within-tests. +* :ghpull:`16440`: Expire deprecation of \stackrel. +* :ghpull:`16439`: Rework pylab docstring. +* :ghpull:`16441`: Rework pylab docstring. +* :ghpull:`16442`: Expire deprecation of \stackrel. +* :ghpull:`16365`: TST: test_acorr (replaced image comparison with figure comparion) +* :ghpull:`16206`: Expire deprecation of \stackrel +* :ghpull:`16437`: Rework pylab docstring. +* :ghpull:`8896`: Fix mplot3d projection +* :ghpull:`16430`: Remove unnecessary calls to np.array in examples. +* :ghpull:`16407`: Remove outdated comment re: PYTHONHASHSEED and pytest. +* :ghpull:`16225`: Cleanup animation examples. +* :ghpull:`16336`: Include axline() in infinite lines example +* :ghpull:`16395`: Add set/get for ellipse width/height +* :ghpull:`16431`: CI: add py38 to azure matrix +* :ghpull:`16415`: Expire some APIs deprecated in mpl3.1. +* :ghpull:`16425`: MNT: rename internal variable +* :ghpull:`16427`: Style-fix some examples and update .flake8 per-file-ignores. +* :ghpull:`16423`: Slightly improve streamplot code legibility. +* :ghpull:`16414`: DOC: Fix ``axes:plot`` method docstring verb tense +* :ghpull:`16408`: Deprecate avconv animation writers. +* :ghpull:`16406`: Don't import rcParams but rather use mpl.rcParams. +* :ghpull:`16326`: Cleanup stack +* :ghpull:`16193`: Catch shadowed imports in style checks. +* :ghpull:`16374`: Log about font manager generation beforehand. +* :ghpull:`16372`: Dedupe ImageGrid doc from tutorial and docstring. +* :ghpull:`16380`: "gif" third-party package added to the extension page +* :ghpull:`16327`: Cleanup list copying +* :ghpull:`16366`: Special-case usetex minus to zero depth. +* :ghpull:`16350`: TST: Improved test (getting rid of image comparison test for test_titletwiny) +* :ghpull:`16359`: Make Text.update_from copy usetex state. +* :ghpull:`16355`: typo in ``ticker.ScalarFormatter`` doc +* :ghpull:`15440`: Use rcParams to control default "raise window" behavior (Qt,Gtk,Tk,Wx) +* :ghpull:`16302`: Cleanup Legend._auto_legend_data. +* :ghpull:`16329`: ENH: add zorder kwarg to contour clabel (and a better default value for zorder) +* :ghpull:`16341`: Remove mention of now-removed --verbose-foo flags. +* :ghpull:`16265`: Fix spy(..., marker=, origin="lower") +* :ghpull:`16333`: Document animation HTML writer. +* :ghpull:`16334`: Fix doc regarding deprecation of properties. +* :ghpull:`16335`: Fix some more missing references. +* :ghpull:`16304`: Simplify Legend.get_children. +* :ghpull:`16309`: Remove duplicated computations in Axes.get_tightbbox. +* :ghpull:`16314`: Avoid repeatedly warning about too many figures open. +* :ghpull:`16319`: Put doc for XAxis befor YAxis and likewise for XTick, YTick. +* :ghpull:`16313`: Cleanup constrainedlayout_guide. +* :ghpull:`16312`: Remove unnecessary Legend._approx_text_height. +* :ghpull:`16307`: Cleanup axes_demo. +* :ghpull:`16303`: Dedupe Legend.draw_frame which is the same as set_frame_on. +* :ghpull:`16261`: TST: move the Qt-specific handling to conftest +* :ghpull:`16297`: DOC: fix description of vmin/vmax in scatter +* :ghpull:`16288`: Remove the private, unused _csv2rec. +* :ghpull:`16281`: Update/cleanup pgf tutorial. +* :ghpull:`16283`: Cleanup backend_agg docstrings. +* :ghpull:`16282`: Replace "unicode" by "str" in docs, messages when referring to the type. +* :ghpull:`16289`: axisartist tutorial markup fixes. +* :ghpull:`16293`: Revert "Fix doc CI by pointing to dev version of scipy docs." +* :ghpull:`16287`: Improve markup for rcParams in docs. +* :ghpull:`16271`: Clean up and clarify Normalize docs +* :ghpull:`16290`: Fix doc CI by pointing to dev version of scipy docs. +* :ghpull:`16276`: Cleanup docstring of print_figure, savefig. +* :ghpull:`16277`: Prefer using MouseButton to numeric values in docs and defaults. +* :ghpull:`16270`: numpydoc-ify SymLogNorm +* :ghpull:`16274`: Tiny cleanups to set_xlabel(..., loc=...). +* :ghpull:`16273`: DOC: Changing the spelling of co-ordinates. +* :ghpull:`15974`: Enable set_{x|y|}label(loc={'left'|'right'|'center'}...) +* :ghpull:`16248`: Update matplotlib.__doc__. +* :ghpull:`16262`: Dedupe update of rcParams["backend"] in use() and in switch_backend() +* :ghpull:`9629`: Make pcolor(mesh) preserve all data +* :ghpull:`16254`: DOC: pdf.preamble --> pgf.preamble +* :ghpull:`16245`: Cleanup image docs +* :ghpull:`16117`: CI: Unify required dependencies installation +* :ghpull:`16240`: Cleanup custom_scale example. +* :ghpull:`16227`: Make Animation.repeat_delay an int, not an int-or-None. +* :ghpull:`16242`: CI: Remove PYTHONUNBUFFERED=1 on Appveyor +* :ghpull:`16183`: Remove some baseline images for plot() tests. +* :ghpull:`16229`: And more missing refs. +* :ghpull:`16215`: Concise dates test +* :ghpull:`16233`: Reword ScalarFormatter docstrings. +* :ghpull:`16218`: Cleanup animation docs. +* :ghpull:`16172`: And more missing references. +* :ghpull:`16205`: Deprecate the empty matplotlib.compat. +* :ghpull:`16214`: Fix overindented line in AnchoredOffsetbox doc. +* :ghpull:`15943`: Deprecate the TTFPATH & AFMPATH environment variables. +* :ghpull:`16039`: Deprecate unused features of normalize_kwargs. +* :ghpull:`16202`: Remove outdated statement in tight_layout guide. +* :ghpull:`16201`: UnCamelCase examples. +* :ghpull:`16194`: Numpydoc ticklabel_format. +* :ghpull:`16195`: Numpydoc ContourSet.find_nearest_contour. +* :ghpull:`16198`: Remove em dash +* :ghpull:`16199`: Do not use camel case for variables in examples +* :ghpull:`15644`: Rewrite cursor example to include speedup possibilities +* :ghpull:`16196`: Cleanup patches docstrings. +* :ghpull:`16184`: Expire a mpl2.2-deprecated API +* :ghpull:`16188`: Remove ref. to non-existent method in animation tests. +* :ghpull:`16170`: Deprecate old and little used formatters. +* :ghpull:`16187`: Fix overly long lines in examples & tutorials. +* :ghpull:`15982`: Colorbar cleanup. +* :ghpull:`16154`: Deprecate setting pickradius via set_picker +* :ghpull:`16174`: Numpydocify artist.getp(). +* :ghpull:`16165`: Remove rcParams deprecated in mpl3.0/3.1. +* :ghpull:`16141`: Update _base.py +* :ghpull:`16169`: Add missing spaces after commas. +* :ghpull:`15847`: Remove some dead branches from texmanager code. +* :ghpull:`16125`: Fix more missing references again. +* :ghpull:`16150`: Simplify transforms addition. +* :ghpull:`16152`: Inline _init_axes_pad into Grid.__init__. +* :ghpull:`16129`: Deprecate some Transform aliases in scale.py. +* :ghpull:`16162`: (Mostly) avoid the term "command" in the docs. +* :ghpull:`16159`: Simple cleanups for contour.py. +* :ghpull:`16164`: Fix trivial typo in deprecation warning message. +* :ghpull:`16160`: Cleanup hist() docstring. +* :ghpull:`16149`: DOC: reword density desc in ``ax.hist`` +* :ghpull:`16151`: Remove outdated comment re: blended transforms. +* :ghpull:`16102`: Rework example "Scatter Star Poly" to "Marker examples" +* :ghpull:`16134`: Validate Line2D pickradius when setting it, not when reading it. +* :ghpull:`15019`: Add step option where='edges' to facilitate pre-binned hist plots +* :ghpull:`16142`: Avoid using np.r\_, np.c\_. +* :ghpull:`16146`: Remove LICENSE_CONDA. +* :ghpull:`16133`: Reword docstring of Line2D.contains. +* :ghpull:`16120`: Minor fontproperty fixes. +* :ghpull:`15670`: Reuse Grid.__init__ in ImageGrid.__init__. +* :ghpull:`16025`: Deprecate update_datalim_bounds. +* :ghpull:`16001`: Remove parameters deprecated in 3.1 +* :ghpull:`16049`: Add __repr__ to SubplotSpec. +* :ghpull:`16100`: Consistently name event callbacks on_[event] +* :ghpull:`16106`: In DraggableLegend, inherit DraggableBase.artist_picker. +* :ghpull:`16109`: Name Axes variables ax instead of a +* :ghpull:`16115`: Fix more missing references. +* :ghpull:`16096`: Deprecate unused parameters +* :ghpull:`16085`: Improve docstrings in offsetbox.py +* :ghpull:`16097`: Cleanup unused variables +* :ghpull:`16101`: Fix incorrect doc regarding projections. +* :ghpull:`16095`: Deprecate MovieWriter.{exec,args}_key, making them private. +* :ghpull:`16078`: Refactor a bit animation start/save interaction. +* :ghpull:`16081`: Delay resolution of animation extra_args. +* :ghpull:`16088`: Use C++ true/false in ttconv. +* :ghpull:`16082`: Defaut to writing animation frames to a temporary directory. +* :ghpull:`16070`: Make animation blit cache robust against 3d viewpoint changes. +* :ghpull:`5056`: MNT: more control of colorbar with CountourSet +* :ghpull:`16051`: Deprecate parameters to colorbar which have no effect. +* :ghpull:`16045`: Use triple-double-quotes for docstrings +* :ghpull:`16076`: Cleanup path_editor example. +* :ghpull:`16059`: Simplify colorbar test. +* :ghpull:`16072`: Cleanup category.py docstrings. +* :ghpull:`15769`: scatter() should not rescale if norm is given +* :ghpull:`16060`: Cleanup pcolor_demo. +* :ghpull:`16057`: Trivial docstring fix for cbook.deprecated. +* :ghpull:`16043`: Simplify some comparisons +* :ghpull:`16044`: Code style cleanup +* :ghpull:`15894`: rcsetup cleanups. +* :ghpull:`16050`: Unbreak CI. +* :ghpull:`16034`: Update comments re: colors._vector_magnitude. +* :ghpull:`16035`: Make eventplot use the standard alias resolution mechanism. +* :ghpull:`15798`: Better default behavior for boxplots when rcParams['lines.marker'] is set +* :ghpull:`16004`: Improve documentation of text module +* :ghpull:`15507`: Use FixedFormatter only with FixedLocator +* :ghpull:`16008`: Remove unused imports +* :ghpull:`16036`: Rely on pytest to record warnings, rather than doing it manually. +* :ghpull:`15734`: Fix home/forward/backward buttons for 3d plots. +* :ghpull:`16038`: Cleanup contour_demo. +* :ghpull:`15998`: Join marker reference and marker fiillstyle reference +* :ghpull:`15976`: Cleanup span_where. +* :ghpull:`15990`: Remove deprecated support for setting single property via multiple aliases +* :ghpull:`15940`: Some unicode-support related cleanups. +* :ghpull:`15836`: Compactify a bit the EventCollection tests. +* :ghpull:`16013`: Relayout some conditions in axes_grid. +* :ghpull:`16010`: Inherit the Artist.draw docstring in subclasses. +* :ghpull:`16017`: Document support for no-args plt.subplot() call. +* :ghpull:`16014`: Simplify calls to AxesGrid/ImageGrid. +* :ghpull:`16012`: Normalize aspect="equal" to aspect=1 in the setter. +* :ghpull:`15997`: Shorten wx _onMouseWheel. +* :ghpull:`15993`: Style fixes for axes_divider. +* :ghpull:`15989`: Simplify Artist.update. +* :ghpull:`16015`: Some small extension cleanups +* :ghpull:`16011`: Replace axes_size.Fraction by multiplication. +* :ghpull:`15719`: Templatize spectral helpers. +* :ghpull:`15995`: Remove toolkit functions deprecated in 3.1 +* :ghpull:`16003`: prevent needless float() conversion +* :ghpull:`16000`: De-deprecate \*min/\*max parameters to set_x/y/zlim() +* :ghpull:`15684`: Avoid RuntimeError at wx exit. +* :ghpull:`15992`: Avoid using np.matrix. +* :ghpull:`15961`: Be more opinionated for setting up a dev env. +* :ghpull:`15991`: Avoid setting dtypes as strings... +* :ghpull:`15985`: Remove unnecessary :func:, :meth: from examples markup. +* :ghpull:`15983`: Fix some examples docstrings. +* :ghpull:`15979`: Remove references to scipy cookbook. +* :ghpull:`15966`: FIX: check subplot kwargs +* :ghpull:`15947`: Merge the two usetex demos. +* :ghpull:`15939`: Exceptions should start with a capital letter +* :ghpull:`15948`: Use rc_context more. +* :ghpull:`15962`: Add tests for IndexFormatter +* :ghpull:`15965`: Test registering cmaps +* :ghpull:`15950`: Remove deprecated TextWithDash +* :ghpull:`15942`: Update docs of type1font +* :ghpull:`15927`: Trying to set the labels without setting ticks through pyplot now raises TypeError* +* :ghpull:`15944`: Minor doc cleanups +* :ghpull:`15945`: Do not use "object" or "instance" when documenting types +* :ghpull:`15897`: Cleanup TriAnalyzer docs +* :ghpull:`15777`: Don't bother disconnecting idle_draw at gtk shutdown. +* :ghpull:`15929`: Remove unused cbook._lockstr. +* :ghpull:`15935`: Raise an ValueError when Axes.pie accepts negative values #15923 +* :ghpull:`15895`: Deprecate unused illegal_s attribute. +* :ghpull:`15900`: Rewrite test_cycles to avoid image comparison tests. +* :ghpull:`15892`: Update docs of backend_manager +* :ghpull:`15878`: Remove API deprecated in 3.1 +* :ghpull:`15928`: DOC: use markers as slanted breaks in broken axis example +* :ghpull:`14659`: Update some widget docstrings. +* :ghpull:`15919`: Remove mod_python specific code. +* :ghpull:`15883`: Improve error when passing 0d array to scatter(). +* :ghpull:`15907`: More docstrings cleanup. +* :ghpull:`15906`: Cleanup legend docstrings. +* :ghpull:`15776`: Improve doc for data kwarg. +* :ghpull:`15904`: Deemphasize ACCEPTS blocks in documenting_mpl docs. +* :ghpull:`15891`: Mark self.* expressions in docstrings as literal +* :ghpull:`15875`: Deprecate implicit creation of colormaps in register_cmap() +* :ghpull:`15885`: Cleanup text.py docstrings. +* :ghpull:`15888`: Cleanup backend_bases docs. +* :ghpull:`15887`: Fix AnnotationBbox docstring. +* :ghpull:`15858`: Avoid some uses of len-1 tuples. +* :ghpull:`15873`: Standardize parameter types in docs +* :ghpull:`15874`: Cleanup backend_bases docs +* :ghpull:`15876`: Deprecate case-insensitive capstyles and joinstyles. +* :ghpull:`15877`: Suppress exception chaining on rc validator failure. +* :ghpull:`15880`: Use True/False instead of 0/1 as booleans in backend_ps. +* :ghpull:`15827`: Fix validation of linestyle in rcparams and cycler. +* :ghpull:`15850`: Docstrings cleanup in matplotlib.axes +* :ghpull:`15853`: np.abs -> (builtins).abs +* :ghpull:`15854`: Simplify Axes3D init. +* :ghpull:`15822`: More cleanup defaults in docstrings +* :ghpull:`15838`: Remove some references to Py2. +* :ghpull:`15834`: Optimize colors.to_rgba. +* :ghpull:`15830`: Allow failure on nightly builds. +* :ghpull:`15788`: Fixes pyplot xticks() and yticks() by allowing setting only the labels +* :ghpull:`15805`: Improve docs on figure size +* :ghpull:`15783`: Fix stepfilled histogram polygon bottom perimeter +* :ghpull:`15812`: Cleanup defaults in docstrings +* :ghpull:`15804`: Cleanup many docstrings. +* :ghpull:`15790`: Update docs of PolyCollection +* :ghpull:`15792`: Cleanup dviread docs. +* :ghpull:`15801`: Cleanup some references to rcParams in docs. +* :ghpull:`15787`: Cleanup ``Colormap.__call__``. +* :ghpull:`15766`: Shorten description on search page +* :ghpull:`15786`: Slightly clarify the implementation of safe_masked_invalid. +* :ghpull:`15767`: Update badges in README.rst +* :ghpull:`15778`: Fix typos and comma splices in legend guide +* :ghpull:`15775`: Some pathlibification. +* :ghpull:`15772`: Directly dedent the spectral parameter docs. +* :ghpull:`15765`: Reword some docstrings. +* :ghpull:`15686`: Simplify and unify character tracking in pdf and ps backends (with linked fonts) +* :ghpull:`9321`: Add Axes method for drawing infinite lines +* :ghpull:`15749`: Fix travis links in README +* :ghpull:`15673`: Rely on findfont autofallback-to-default in pdf/ps backends. +* :ghpull:`15740`: Small animation cleanup. +* :ghpull:`15739`: ImageMagick animators now can use extra_args +* :ghpull:`15591`: Remove FAQ on 'Search' -- already referenced in search file +* :ghpull:`15629`: Consistently use realpaths to build XObject names +* :ghpull:`15696`: Improve mathtext.fontset docs and fix :mathmpl: cache bug. +* :ghpull:`15721`: Render default values in :rc: directive as literal +* :ghpull:`15720`: Suppress triage_tests warning on Py3.8. +* :ghpull:`15709`: Make 3d plot accept scalars as arguments. +* :ghpull:`15711`: Don't explicitly list scalez kwarg in Axes3D constructor and docs. +* :ghpull:`14948`: Simplify Tick and Axis initialization. +* :ghpull:`15693`: Also test PySide2 on CI. +* :ghpull:`15701`: Tried to solve Issue #15650: Print URL when webbrowser.open Fails +* :ghpull:`15704`: Fix more broken refs. +* :ghpull:`15687`: Add tooltips to HTML animation controls +* :ghpull:`15592`: Offset text position +* :ghpull:`15697`: Fix some broken doc refs. +* :ghpull:`15700`: Parametrize some spectral tests. +* :ghpull:`15699`: Fix some incorrect ValueErrors. +* :ghpull:`15698`: Bump numpy dependency to >=1.15. +* :ghpull:`15694`: Handle upcoming deprecation of np.float. +* :ghpull:`15691`: Correctly handle high dpi in Pillow animation writer. +* :ghpull:`15676`: Doc adopt nep29 +* :ghpull:`15692`: Update FUNDING.yml +* :ghpull:`15645`: Bump minimal numpy version to 1.12. +* :ghpull:`15646`: Hide sphinx-gallery config comments +* :ghpull:`15642`: Remove interpolation="nearest" from most examples. +* :ghpull:`15671`: Don't mention tcl in tkagg commments anymore. +* :ghpull:`15607`: Simplify tk loader. +* :ghpull:`15651`: Simplify axes_pad handling in axes_grid. +* :ghpull:`15652`: Remove mention of Enthought Canopy from the docs. +* :ghpull:`15655`: Remove outdated license files. +* :ghpull:`15639`: Simplify axes_grid.Grid/axes_grid.ImageGrid construction. +* :ghpull:`15640`: Remove some commented-out code from axes_grid. +* :ghpull:`15643`: Fix examples claiming matplotlib can't plot np.datetime64. +* :ghpull:`15375`: Add note to hist docstring about speed +* :ghpull:`15461`: Fix invalid checks for axes_class parameter in ImageGrid. +* :ghpull:`15635`: Deprecate "U" mode passed to cbook.to_filehandle(). +* :ghpull:`15563`: In backend_pgf, directly open subprocess in utf8 mode. +* :ghpull:`15462`: Simplify azure setup. +* :ghpull:`13075`: Remove logic for optionally building Agg and TkAgg. +* :ghpull:`15262`: Declare qt figureoptions tool in toolitems. +* :ghpull:`15292`: Shorten RendererWx.get_wx_font. +* :ghpull:`15569`: Allow linking against a system qhull as well. +* :ghpull:`15589`: Make sure that figures are closed when check_figures_equal finishes +* :ghpull:`15465`: Validate and simplify set_tick_params(which=...) +* :ghpull:`15090`: Coerce MxNx1 images into MxN images for imshow +* :ghpull:`15578`: BLD: set the max line length on the flake8 config +* :ghpull:`15564`: Use True instead of 1 as filternorm default +* :ghpull:`15536`: Add a backend kwarg to savefig. +* :ghpull:`15571`: Cleanup following using Pillow as universal image reader +* :ghpull:`15476`: Default to local_freetype builds. +* :ghpull:`15557`: Skip failing pgf test when sfmath.sty is not present. +* :ghpull:`15555`: Add pgf to list of builtin backends in docs. +* :ghpull:`15534`: BLD: update pillow dependency +* :ghpull:`15427`: Separate plots using #### in demo_fixed_size_axes.py +* :ghpull:`15505`: Cleanup axisartist tutorial. +* :ghpull:`15506`: Rename locator.den to the clearer locator.nbins in mpl_toolkits. +* :ghpull:`15502`: Get rid of trivial compiler warning. +* :ghpull:`15451`: Ci py38 +* :ghpull:`15484`: Cleanup docs regarding compilers. +* :ghpull:`15467`: Validate locator_params(axis=...) +* :ghpull:`15330`: Add axes method for drawing infinite lines. +* :ghpull:`15482`: Trivial style fixes to constrained_layout. +* :ghpull:`15418`: Use correct pip/pytest on azure +* :ghpull:`15466`: Update tick_params() docs +* :ghpull:`15463`: Remove staticbuild option from setup.cfg.template. +* :ghpull:`15378`: Don't link ft2font to zlib by default. +* :ghpull:`15270`: When no gui event loop is running, propagate callback exceptions. +* :ghpull:`15447`: Move testing of Py3.8 to Travis. +* :ghpull:`15431`: Fix range(len()) usages +* :ghpull:`15390`: Simplify implementation of vectorized date operations. +* :ghpull:`15403`: Fix DeprecationWarning in nightly testing +* :ghpull:`15394`: Deprecate {NonUniformImage,PcolorImage}.is_grayscale. +* :ghpull:`15400`: Updated INSTALL.rst to correct install commands +* :ghpull:`13788`: Autoscale for ax.arrow() +* :ghpull:`15367`: Update the readme on providing API changes +* :ghpull:`15193`: Switch to using pillow for png as well. +* :ghpull:`15346`: vectorized calc_arrow loop in quiver +* :ghpull:`15011`: Adding example for drawstyle +* :ghpull:`15371`: Deprecate Colorbar.config_axis() +* :ghpull:`15361`: Update next API changes to new structure +* :ghpull:`15274`: NavigationToolbar2Tk: make packing optional. +* :ghpull:`15158`: Change the way API changes are documented +* :ghpull:`15356`: Fix broken imports. +* :ghpull:`15200`: Simplify SubplotParams.update(). +* :ghpull:`15210`: Explicitly list allowed "unused" imports, remove the rest. +* :ghpull:`15348`: Some figure and related docs cleanup +* :ghpull:`13355`: Simplify and generalize BezierSegment. +* :ghpull:`14917`: ENH: box aspect for axes +* :ghpull:`14949`: Use fix_minus in format_data_short. +* :ghpull:`15341`: Move non-gui warning message to backend_bases. +* :ghpull:`15335`: Add discourse link to readme +* :ghpull:`15293`: Fixes for wx savefig dialog. +* :ghpull:`15324`: Update PR guidelines +* :ghpull:`15301`: Update colorbar docs +* :ghpull:`15340`: Always attach a manager attribute (possibly None) on canvas. +* :ghpull:`15319`: Make validate_movie_writer actually check registered writers. +* :ghpull:`10973`: PGF: Replace \pgfimage by \includegraphics to fix \import regression +* :ghpull:`15302`: fix warning used by cbook.warn_deprecated() +* :ghpull:`15321`: Sort missing_references.json. +* :ghpull:`15290`: Unify fig.delaxes(ax) and ax.remove(). +* :ghpull:`15309`: Simplify sca(). +* :ghpull:`15201`: Autogenerate gca(), gci() from boilerplate.py. +* :ghpull:`15305`: Autogenerate footer Copyright year +* :ghpull:`15294`: Replace custom logging in wx by stdlib logging. +* :ghpull:`15288`: More properties aliases. +* :ghpull:`15286`: throw deprecation warning on empty call to fig.add_axes() +* :ghpull:`15282`: Colorbar cleanup. +* :ghpull:`15250`: Cleanup font_manager. +* :ghpull:`13581`: Cleanup _pylab_helpers. +* :ghpull:`15273`: DOC: don't use term units in transform tutorial +* :ghpull:`15263`: Correctly setup comparisons in test_compare_images. +* :ghpull:`15226`: Turn gtk3 pan/zoom button into togglable buttons. +* :ghpull:`14609`: Simplify implementation of set_{x,y}bound. +* :ghpull:`15261`: Change layout of test_triager to avoid cropping images. +* :ghpull:`15236`: Dedupe SubplotSpec construction in mpl_toolkits. +* :ghpull:`14130`: Add decorator to inherit keyword-only deprecations +* :ghpull:`15249`: In findfont(fallback_to_default=False), throw if default font is missing +* :ghpull:`15175`: Simplify pdf image output. +* :ghpull:`7506`: [WIP] Add Axes method for drawing infinite lines. + +Issues (198): + +* :ghissue:`16501`: Setting a thetalim > 2pi gives odd results +* :ghissue:`15035`: security exposure in the packaged jquery library +* :ghissue:`10375`: Coordinate text wrapping in navigation toolbar +* :ghissue:`10720`: Option to set the text color in legend to be same as the line +* :ghissue:`17868`: plt.bar with nan input fails rendering in notebook using 3.3.0rc1 +* :ghissue:`17773`: gtk3 rubberband is invisible +* :ghissue:`5726`: Cursor displays x, y coordinates with too much or too little precision +* :ghissue:`5164`: Sort out qt_compat +* :ghissue:`17905`: macosx backend warns when using the zoom method +* :ghissue:`17703`: QuadMesh.get_clim changed behavior in 3.3.0rc1 +* :ghissue:`17875`: animation.writers['ffmpeg']" is hung when run in background. +* :ghissue:`17591`: Single-character colors do not match long names +* :ghissue:`16905`: if pie normalizes depends on input values +* :ghissue:`17829`: trunk fails to build in AIX +* :ghissue:`17820`: Regression: _reshape_2D no longer preserves the shape of lists of lists of one scalar each +* :ghissue:`17807`: "%matplotlib notebook" Download is Noise After Interacting with Plot +* :ghissue:`17763`: matplotlib.use('agg', force=True) does not ignore unavailable configured backend +* :ghissue:`17586`: Surprising datetime autoscaling after passing empty data +* :ghissue:`17792`: when using plt.tight_layout(), figure title overlaps subplot titles +* :ghissue:`17736`: ax.set_xticklabels([]) for categorical plots is broken in 3.3.0rc1 +* :ghissue:`17757`: Plotting Hist with histtype 'stepfilled' does not respect bottom correctly +* :ghissue:`17744`: BUG: AttributeError: 'FigureCanvasBase' object has no attribute 'print_png' in 3.3rc0 +* :ghissue:`17730`: Using backend Template and plt.tight_layout raises UnboundLocalError +* :ghissue:`17716`: Error using "set_window_title" for canvas via backend_qt5agg +* :ghissue:`17681`: PDF cannot be built due to Zenodo SVGs +* :ghissue:`17627`: AttributeError: 'Figure' object has no attribute '_cachedRenderer' +* :ghissue:`17658`: Feature request: Add advanced zoom and inspect feature to GUI for more productivity +* :ghissue:`17629`: Use of Python deprecated APIs. +* :ghissue:`17670`: BUG: Setting ticksize xx-small broken by #17348 +* :ghissue:`17673`: RuntimeError: latex was not able to process the following string: b'$\\\\mathdefault{-2}$' +* :ghissue:`17412`: Document the dependency on the type1ec LaTeX package +* :ghissue:`17643`: AutoDateLocator docs has a typo +* :ghissue:`9118`: make TeXManager more user-configurable +* :ghissue:`11131`: Make pyplot.pause not give focus to the figure window +* :ghissue:`17646`: more conservative setattr_cm broke mplcairo +* :ghissue:`17634`: Cannot copy LinearSegmentedColormap +* :ghissue:`16496`: Single path optimisation for Collection w/ offsets broken +* :ghissue:`192`: Savefig does not issue a warning on a non-existent keyword n +* :ghissue:`17624`: _DummyAxis needs a __name__ attribute for ScalarFormatter +* :ghissue:`16910`: Axes.imshow draws invalid color at value is 0 when max of 'X' not equal to vmax +* :ghissue:`17637`: streamplot and sticky edges interaction +* :ghissue:`17633`: Stackplot fails for small numbers +* :ghissue:`17616`: waitforbuttonpress in Linux +* :ghissue:`17615`: small bug in documentation of backend.FigureCanvasBase.start_event_loop +* :ghissue:`17093`: Zero size figure use case +* :ghissue:`17608`: How avoid PyQt5 to crash when I move Qslitter to the edge with a matplotlib figure in it? +* :ghissue:`9829`: Vertices clipped for certain markers when plotting more than two points and saving as pdf +* :ghissue:`15815`: bar3d color length bug +* :ghissue:`15376`: ScalarFormatter.set_powerlimits documentation seems inconsistent +* :ghissue:`17595`: Master doc builds broken +* :ghissue:`16482`: Pyplot hlines and vlines do not use the 'lines.color' property in rcParams by default +* :ghissue:`16388`: rethink how we display DOI svg badges +* :ghissue:`17172`: set_aspect for 3D plots +* :ghissue:`16463`: Jupyter "inline" backend seems to misinterpret "figsize" with Axes3D +* :ghissue:`17527`: The markers are not hollow when I use ax.scatter() and set markers.MarkerStyle()'s fillstyle to 'none'. My usage is wrong? +* :ghissue:`7491`: sort out if the high-resolution ellipse code still works +* :ghissue:`17398`: Plotting an error band along a curve +* :ghissue:`8550`: Matplotlib chooses the wrong font for unrecognized weights +* :ghissue:`8788`: Font issue: findfonts should differentiate between thin and regular ttf fonts +* :ghissue:`10194`: legend is not present in the generated image if I use 'tight' for bbox_inches +* :ghissue:`17336`: set_url without effect for instances of Line2D +* :ghissue:`9695`: set_url() without effect in the plot for instances of Tick +* :ghissue:`17192`: How to change the thickness of the marker "x" when using scatter? +* :ghissue:`17507`: pyplot.savefig() throwing warning suggesting a bug (possibly in figManger) +* :ghissue:`17502`: dict unpacking broken for ``.plot`` in 3.2 +* :ghissue:`15546`: plt.imshow: clip_on=False has no effect +* :ghissue:`17023`: DOC: Tutorial/Sample plots should use same fig/axis creation method +* :ghissue:`7537`: Conflict between different AGG static libraries in a same binary +* :ghissue:`16836`: Dropping support for PyQt4; preparing support for PyQt6. +* :ghissue:`17455`: LightSource.shade fails on a masked array +* :ghissue:`16353`: BUG: VisibleDeprecationWarning in boxplot +* :ghissue:`11820`: Compressed Triangulation Masking in CubicTriInterpolator +* :ghissue:`11823`: Animation Examples +* :ghissue:`15410`: Change in OSX Catalina makes matplotlib + multiprocessing crash +* :ghissue:`17467`: Bug Report: saved Figure ignores figure.facecolor +* :ghissue:`17343`: Regression in add_subplot.. +* :ghissue:`7093`: ordering issues between ``set_xmargin`` and ``set_xscale`` +* :ghissue:`13971`: Unnecessary drawing with NbAgg +* :ghissue:`17432`: Scatter accepts marker=MarkerStyle(), but plot does not +* :ghissue:`15675`: Boxplot line color with style dark_background should be bright +* :ghissue:`5962`: No output from pyplot on cygwin64 python3 virtualenv +* :ghissue:`17393`: TexManager.get_rgba fails +* :ghissue:`5830`: Incorrect overlap of markers in scatter3D +* :ghissue:`11937`: Limiting ticks on colorbar axes falsify tick labels. +* :ghissue:`17354`: Converter detection fails for inkscape if on headless system without DISPLAY +* :ghissue:`17352`: Zoom In-Out not behaving as expected in QT backend example +* :ghissue:`15409`: Datetime plot fails with 'Agg' backend in interactive mode +* :ghissue:`14155`: Adding GridSpec.subplots? +* :ghissue:`16583`: matplotlibrc validates some parameters wrongly +* :ghissue:`16946`: Pick_event on AnnotationBbox fires at wrong position +* :ghissue:`15131`: set_size_inches doesn't resize window on macosx backend +* :ghissue:`7619`: Figure background colors +* :ghissue:`15899`: Describe possible kwargs that may be input into a function +* :ghissue:`17304`: constrained-layout gives wrong results when explicitly equal width ratios are set +* :ghissue:`17295`: DOC: https://matplotlib.org/api/_as_gen/matplotlib.quiver.Quiver.html +* :ghissue:`17294`: DOC: matplotlib.axes.Axes.annotate.html +* :ghissue:`17290`: backend_svg fails with dashed line style +* :ghissue:`16677`: tmp_config_or_cache_dir atexit cleanup fails after forks() +* :ghissue:`15091`: Turbo color map +* :ghissue:`7372`: Moving get_ax and do_event to testing +* :ghissue:`15225`: Show offset text on subplots after sharing axis +* :ghissue:`7138`: misplaced spines in dates plot +* :ghissue:`17243`: Misleading error message in _parse_scatter_color_args +* :ghissue:`16461`: Hexbin if singular and mincnt used +* :ghissue:`14596`: forward port jquery removal from ipympl +* :ghissue:`17217`: Transform operators are not publicly documented.... +* :ghissue:`2253`: matplotlib makes python lose focus +* :ghissue:`7184`: margins does not handle bézier curves +* :ghissue:`16830`: ``_path.get_extents`` does not correctly handle bezier curves +* :ghissue:`17176`: Print figure using PS backend is needlessly slow +* :ghissue:`17141`: flake8-docstrings does not check all of our requirements +* :ghissue:`16567`: Let legend get the handles from the provided objects if not specified explicitly. +* :ghissue:`16805`: Titles cannot be padded to negative numbers anymore. +* :ghissue:`17114`: ``add_axes`` shows deprecation warning when called with only ``kwarg``\s +* :ghissue:`16885`: Change return type get_{x,y}ticklabels to plain list +* :ghissue:`17044`: widgets.TextBox continuously creates new text objects and linecollection objects. +* :ghissue:`17066`: documentation of animation contains non-working code example +* :ghissue:`16588`: Rename next_api_changes to api_changes_3.x (whatever number makes sense) +* :ghissue:`17015`: ``get_major_ticks`` docs missing return type +* :ghissue:`16976`: Thin line color distortion on large scale +* :ghissue:`16934`: gtk3 window immediately resizes down to zero-height upon showing up. +* :ghissue:`16941`: test_determinism_check is failing (sometimes) +* :ghissue:`16982`: pyplot.rgrids don't do anything +* :ghissue:`16952`: How to solve an error of "ValueError: Key backend: Unrecognized backend string '"agg"' +* :ghissue:`15272`: Axes.violinplot has small issue in using pandas.DataFrame without index 0. +* :ghissue:`16926`: tk window immediately resizes down to zero-height upon showing up. +* :ghissue:`16919`: wx backends don't send close_event if window is closed via "q" keypress +* :ghissue:`16854`: small typo in the documentation +* :ghissue:`16895`: offset text still visible with ImageGrid axis "L" +* :ghissue:`12712`: Autoscale does not work for ax.arrow() +* :ghissue:`14208`: shift + w does not close all figures (has no effect) +* :ghissue:`15745`: Failed to add annotate to figure +* :ghissue:`11432`: Pressing the "1" key kills the zoom/pan tool +* :ghissue:`13799`: BUG: incorrect error bar colors when NaN values are present +* :ghissue:`16185`: hist demo appears to incorrectly mention ``normed`` and something odd about ``density`` as well. +* :ghissue:`15203`: Closing figures is done by number +* :ghissue:`16016`: Better argument checking of subplot definition in ``add_subplot()`` +* :ghissue:`15980`: Is the reset of the colorbar's edgecolor when updating the corresponding image clim wanted behaviour? +* :ghissue:`16718`: Float figure DPI +* :ghissue:`16498`: long string of format_coord in osx backend +* :ghissue:`8405`: BUG: PDF export seems wrong with dash sequences that include a None offset +* :ghissue:`8619`: Feature request: allow mathtext fallback font other than Computer Modern for custom mathtext setup +* :ghissue:`14996`: format error saving eps figure using custom linestyle +* :ghissue:`16493`: Example/tutorials warn due to new pcolormesh shading +* :ghissue:`16022`: Cleanup Artist.draw() signatures +* :ghissue:`16389`: “Size” ignored if placed before fontproperties +* :ghissue:`16687`: Creating a figure of size (0, 0) raises an error +* :ghissue:`12729`: Docs for contour levels argument is incorrect +* :ghissue:`16593`: specifying ecolor in errobar turns off cycling +* :ghissue:`15621`: secondary_xaxis doesn't seem to use formatters +* :ghissue:`16116`: travis36minver.txt needs an update +* :ghissue:`16546`: Problem with eventplot - error message claims events & lineoffsets are unequal sizes +* :ghissue:`16462`: Allow wedges of polar plots to include theta = 0. +* :ghissue:`15142`: pyplot.annotate() API deprecation +* :ghissue:`16479`: font-stretch property missing in svg export +* :ghissue:`14304`: 'NSWindow drag regions should only be invalidated on the Main Thread!' - macos/python +* :ghissue:`12085`: Tcl_AsyncDelete: async handler deleted by the wrong thread +* :ghissue:`14669`: cm.ScalarMappable should fail early when norm input is wrong +* :ghissue:`16468`: incorrect cbar minor ticks for extend regions when x/ytick.minor.visible is True +* :ghissue:`16243`: windows builds: devenv freetype /update appears not to have an effect +* :ghissue:`11525`: Axes3D scatter plot for Numpy arrays in F-order does not give correct z-values +* :ghissue:`8894`: mplot3d projection results in non-orthogonal axes +* :ghissue:`1104`: Resizing a GUI window with Axes3D +* :ghissue:`16371`: Incomplete documentation in axes_grid1 +* :ghissue:`6323`: Vertical alignment of tick labels with usetex=True +* :ghissue:`7957`: clabel not respecting zorder parameter +* :ghissue:`16252`: axes.spy plotting function doesn't respect origin='lower' kwarg when marker is not None +* :ghissue:`16299`: The interactive polar plot animation's axis label won't scale. +* :ghissue:`15182`: More tests ``ConciseDateFormatter`` needed +* :ghissue:`16140`: Unclear Documentation for get_xticklabels +* :ghissue:`16147`: pp.hist parmeter 'density' does not scale data appropriately +* :ghissue:`16069`: matplotlib glitch when rotating interactively a 3d animation +* :ghissue:`14603`: Scatterplot: should vmin/vmax be ignored when a norm is specified? +* :ghissue:`15730`: Setting lines.marker = s in matplotlibrc also sets markers in boxplots +* :ghissue:`11178`: home/back/forward buttons do nothing in 3d mode +* :ghissue:`14520`: pylab with wx backend not exiting cleanly +* :ghissue:`15964`: Guard ``plt.subplot`` kwargs a bit better? +* :ghissue:`15404`: Add python 3.8 tests +* :ghissue:`15773`: Warning:... GLib.source_remove(self._idle_draw_id) when using plt.savefig() +* :ghissue:`15923`: pie takes negative values +* :ghissue:`10317`: Setting plt.rc('text', usetex=True) after ticker.ScalarFormatter(useMathText=True) causes Error +* :ghissue:`15825`: Customised dashed linstyle in matplotlib.cycler throws ValueError when using in Axes.set_prop_cycle +* :ghissue:`9792`: Error with linestyles rcParams entries under the form (on, off, ...) and a style context manager +* :ghissue:`15782`: Invalid polygon in stepfilled histogram when bottom is set +* :ghissue:`15628`: Invalid unicode characters in PDF when font is a symlink +* :ghissue:`8577`: mplot3D scalar arguments for plot function +* :ghissue:`15650`: URL is not shown when webagg failed to open the browser. +* :ghissue:`5238`: the offset of the scientific notation in xaxis stays at bottom when axis is set to top +* :ghissue:`15678`: Error at save animation with pillow +* :ghissue:`15079`: check_figures_equal decorator reuses figures if called multiple times inside a single test. +* :ghissue:`15089`: Coerce MxNx1 images into MxN images for imshow +* :ghissue:`5253`: abline() - for drawing arbitrary lines on a plot, given specifications. +* :ghissue:`15165`: Switch to requiring Pillow rather than having our own png wrapper? +* :ghissue:`15280`: Add pull request checklist to Reviewers Guidlines +* :ghissue:`15289`: cbook.warn_deprecated() should warn with a MatplotlibDeprecationWarning not a UserWarning +* :ghissue:`15285`: DOC: make copy right year auto-update +* :ghissue:`15059`: fig.add_axes() with no arguments silently does nothing +* :ghissue:`14546`: Setting lines.markeredgecolor in rcParams affects the ticks' mark color too From bcbabb36b3ed755956cd5607184e62abd3293eef Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 13 Aug 2020 18:11:16 -0400 Subject: [PATCH 15/15] Backport PR #18243: Fix reshape list of strings --- lib/matplotlib/cbook/__init__.py | 5 ++++- lib/matplotlib/tests/test_category.py | 7 +++++++ lib/matplotlib/tests/test_cbook.py | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/matplotlib/cbook/__init__.py b/lib/matplotlib/cbook/__init__.py index 7fcae5db0b66..836de0c4a408 100644 --- a/lib/matplotlib/cbook/__init__.py +++ b/lib/matplotlib/cbook/__init__.py @@ -1367,7 +1367,10 @@ def _reshape_2D(X, name): result = [] is_1d = True for xi in X: - if isinstance(xi, collections.abc.Iterable): + # check if this is iterable, except for strings which we + # treat as singletons. + if (isinstance(xi, collections.abc.Iterable) and + not isinstance(xi, str)): is_1d = False xi = np.asanyarray(xi) nd = np.ndim(xi) diff --git a/lib/matplotlib/tests/test_category.py b/lib/matplotlib/tests/test_category.py index 1fcdc3eca59d..686ea940e17d 100644 --- a/lib/matplotlib/tests/test_category.py +++ b/lib/matplotlib/tests/test_category.py @@ -269,3 +269,10 @@ def test_mixed_type_update_exception(self, ax, plotter, xdata): with pytest.raises(TypeError): plotter(ax, [0, 3], [1, 3]) plotter(ax, xdata, [1, 2]) + + +def test_hist(): + fig, ax = plt.subplots() + n, bins, patches = ax.hist(['a', 'b', 'a', 'c', 'ff']) + assert n.shape == (10,) + np.testing.assert_allclose(n, [2., 0., 0., 1., 0., 0., 1., 0., 0., 1.]) diff --git a/lib/matplotlib/tests/test_cbook.py b/lib/matplotlib/tests/test_cbook.py index b86f02822d3c..9c00f892e687 100644 --- a/lib/matplotlib/tests/test_cbook.py +++ b/lib/matplotlib/tests/test_cbook.py @@ -545,6 +545,12 @@ def __getitem__(self, item): assert len(xnew) == 1 assert isinstance(xnew[0], ArraySubclass) + # check list of strings: + x = ['a', 'b', 'c', 'c', 'dd', 'e', 'f', 'ff', 'f'] + xnew = cbook._reshape_2D(x, 'x') + assert len(xnew[0]) == len(x) + assert isinstance(xnew[0], np.ndarray) + def test_contiguous_regions(): a, b, c = 3, 4, 5