8000 Enforce that Line data modifications are sequences by QuLogic · Pull Request #22329 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

Enforce that Line data modifications are sequences #22329

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 23, 2022

Conversation

QuLogic
Copy link
Member
@QuLogic QuLogic commented Jan 27, 2022

PR Summary

When creating a Line2D, x/y data is required to be a sequence. This is not enforced when modifying the data, or with Line3D.

Closes #22308

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • [n/a] New features are documented, with examples if plot related.
  • [n/a] New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

@tacaswell tacaswell added this to the v3.6.0 milestone Jan 27, 2022
@QuLogic QuLogic force-pushed the line-seq branch 2 times, most recently from cd08d18 to 36b4e35 Compare January 27, 2022 21:54
@tacaswell
Copy link
Member

I am not fully sold that we should not accept scalars at this level. It does some handy to be able to set scalars (as shown by us doing a bunch of times internally!)

@QuLogic
Copy link
Member Author
QuLogic commented Jan 28, 2022

We do hit this quite a lot for something that is not supposed to be supported. if we want to do this, we'll have to do a deprecation, I think. Or otherwise update the documentation to allow it.

@tacaswell
Copy link
Member

I think this does need an API change note that we are becoming stricter about this.

@QuLogic
Copy link
Member Author
QuLogic commented Feb 3, 2022

If this needs an API note, then I wonder what we should do for 3.5.2 (from the original report)?

@tacaswell
Copy link
Member

I would like @timhoffm to weigh in on this.

There is a bunch of weird behavior with this and it is hard to track through exactly where in the code scalars get auto-magically up-cast to arrays (in part because length 1 things having anomalous broadcasting rules anyway).

On one hand, set_data is a "low level" API where we can afford to be strict about inputs, on the other hand scalars currently half work and as seen by the number of test changes something we were actually using, on the third hand it is not clear what a scaler should do against a longer array on the other dimension (could broadcast out and act like a constant or explode do to different lengths).

@timhoffm
Copy link
Member
timhoffm commented Feb 6, 2022

I might have been the cleanest option to not allow scalars in the first place, but that ship has sailed.

I haven't taken the time yet to come to a definitive decision, some preliminary thoughts.

  • I'm a fan of "low level" strict API. It's good to sanitize your data early and not let strange things flow through large parts of your program. With this, you don't always have to worry what your data is.
  • OTOH we have 37 Line2D in the main library codebase, which means we may have to do the coercion in many places.
  • Currently, plot() does not do broadcasting, so the only scalar usecase is with two scalars for x, y. This is quite specific, so it might be possible to round up the scalar-handling in a small area of the code.
  • Then again errorbar() supports broadcasting scalar errors (e.g. yerr=1). So we might want to become more permissive and allow broadcasting from scalars. - As often we're not consistent within the library.

@jklymak jklymak added the status: needs comment/discussion needs consensus on next step label Jun 2, 2022
@tacaswell
Copy link
Member

Currently, plot() does not do broadcasting, so the only scalar usecase is with two scalars for x, y. This is quite specific, so it might be possible to round up the scalar-handling in a small area of the code.

That is stricter than I thought it was so I mostly retract my concerns.

However I think that plot being strict may not be the original intent as in Line2D we do https://github.com/matplotlib/matplotlib/blame/main/lib/matplotlib/lines.py#L661 which came in via 5348ce9 which eventually traces back to e34a333 which is the first real version of the library we have. At some point we do get the fun fun comment:
https://github.com/matplotlib/matplotlib/blame/e84e171d38883600d4a0a9739a92de3903ba858c/lib/matplotlib/lines.py#L291

        # What is the rationale for the following two lines?
        # And why is there not a similar pair with _x and _y reversed?

because we were only doing it for y being length one. However, if we go way back the original behavior was to broadcast length 1 arrays for y, eventually we picked up the symmetric version for x, and then with the last refactor we accidentally picked up the ability to do it for scalars. I have not checked that the few places changed here post-date e34a333.


Thus after that somewhat disjointed discussion / archaeology trip, I think I am in favor of this but have a slight preference for having set_data / set_xdada / set_ydata promote scalars to be length one arrays on input (which is actually what I think Axes.plot does as the error is that (1,) does not match (N,)).

@@ -1228,6 +1228,8 @@ def set_xdata(self, x):
----------
x : 1D array
"""
if not np.iterable(x):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • You can remove the corresponding checks in __init__.
  • Do you want to check instead np.ndim(x) == 1? (A 2D input doesn't really help either...)

@anntzer
Copy link
Contributor
anntzer commented Jun 20, 2022

FWIW I agree with Tim that a strict low-level API is preferable. We should definitely not broadcast (1,) to (N,); I would also prefer not broadcasting () (scalar) to (1,).

@jklymak jklymak marked this pull request as draft June 23, 2022 07:46
@QuLogic QuLogic modified the milestones: v3.6.0, v3.7.0 Aug 18, 2022
@tacaswell tacaswell marked this pull request as ready for review December 16, 2022 21:07
@tacaswell
Copy link
Member

The current state is that the low level API is strict and does not promote 0D to 1D.

@tacaswell tacaswell removed the status: needs comment/discussion needs consensus on next step label Dec 16, 2022
@ksunden
Copy link
Member
ksunden commented Dec 20, 2022

Doc failure is real and is an instance of the error introduced by this PR.

QuLogic and others added 2 commits December 23, 2022 00:48
When creating a Line2D, x/y data is required to be a sequence. This is
not enforced when modifying the data, or with Line3D.
@ksunden ksunden merged commit 2785adc into matplotlib:main Dec 23, 2022
@QuLogic QuLogic deleted the line-seq branch December 23, 2022 20:03
ericpre added a commit to ericpre/matplotlib that referenced this pull request Feb 11, 2023
ericpre added a commit to ericpre/matplotlib that referenced this pull request Feb 11, 2023
clrpackages pushed a commit to clearlinux-pkgs/pypi-matplotlib that referenced this pull request Sep 19, 2023
…ersion 3.8.0

Aalok Chhetri (3):
      adding pytest==6.2.0
      Change the pytest verison to 7.0.0 pn pytest.ini and minver.txt
      updating matplotlib/doc/devel/dependencies.rst

Adam J. Stewart (1):
      broken_barh: fix docstring typo

Albert Y. Shih (1):
      Fixed a bug where rcParams settings were being ignored for formatting axes labels (#25237)

Alissa Hodge (1):
      DOC: update/fix autoscaling documentation (#25656)

Almar Klein (1):
      Update font_manager to only use registry on Win

Andreas Deininger (1):
      Fixing typos

Antony Lee (135):
      Directly support ^% in pgf.
      Also handle `\displaystyle` and `\mathdefault` at the TeX level.
      Bump test tolerance by 1-per-thousand on old ghostscripts.
      Deprecate AxisArtistHelpers with inconsistent loc/nth_coord.
      Remove some long-obsolete commented code in grid_helper_curvelinear.
      Remove contour warning for "no-valid-levels".
      Deprecate Bbox.anchored() with no container.
      Small unrelated cleanups/style fixes.
      Cleanup bullseye plot example.
      Rewrite bullseye example to use bar() instead of pcolormesh().
      Simplify handling of out-of-bound values `Colormap.__call__`.
      Clarify/shorten gca management in colorbar().
      Simplify "artist reference" example.
      Tweak titles pyplot examples.
      Remove note that mathtext.fontset = "custom" is unsupported.
      Reword awkward sentence in FAQ.
      Correctly pass valinit as keyword in SliderTool.
      Deprecate LocationEvent.lastevent.
      tk blitting to destroyed canvases should be a noop, not a segfault.
      Fix cursor_demo wrt. Line2D.set_x/ydata not accepting scalars anymore.
      Fix outdated comment re: _update_label_position.
      Consistently document shapes as (M, N), not MxN.
      Inline ContourSet._make_paths.
      Minor style tweaks to freetype build.
      Don't special-case getSaveFileName in qt_compat anymore.
      On macOS, limit symbols exported by extension modules linking FreeType.
      Group shape/dtype validation logic in image_resample.
      Use "array" instead of "numpy array" except when emphasis is needed.
      Don't handle unknown_symbols in `\operatorname`.
      Avoid calling vars() on arbitrary third-party manager_class.
      Cleanup wx docstrings.
      Support make_compound_path concatenating only empty paths.
      Simplify transforms invalidation system.
      Limit full-invalidation of CompositeGenericTransforms.
      Cleanup gradient_bar example.
      Use setattr_cm more.
      Make draggable legends picklable.
      Support pickling of figures with aligned x/y labels.
      Remove unused menu field from macos NavigationToolbar2.
      Deprecate QuadContourSet.allsegs, .allkinds, .tcolors, .tlinewidths.
      Store FloatingAxes "extremes" info in fewer places.
      Fix disconnection of callbacks when draggable artist is deparented.
      Adjust parent axes limits when clearing floating axes.
      Remove unnecessary norm typecheck in tripcolor().
      Add references to backend_{gtk3,gtk4,wx} in docs.
      Autoload numpy arrays in get_sample_data.
      Use get_sample_data(..., asfileobj=False) less.
      Deprecate tostring_rgb.
      Remove unnecessary calls to Formatter.set_locs.
      Expire more mpl3.6 deprecations.
      Add Axes.ecdf() method.
      Restore autolimits status when pressing "home" key.
      In Artist.contains, check that moussevents occurred on the right canvas.
      Remove unused private SpanSelector._pressv and ._prev.
      Deprecate axes_divider.AxesLocator.
      Rename parameter of Annotation.contains and Legend.contains.
      Simplify outdated Image.contains check.
      Make guiEvent available only within the event handlers.
      Use symbolic operator names (moveto, lineto) in contour_manual example.
      Don't use deprecated cm.get_cmap in qt figureoptions.
      Use true positional args in check_foo APIs instead of simulating them.
      Annotation cleanups.
      Deprecate unused NavigationToolbar2QT signal.
      Move AxisArtistHelpers to toplevel.
      Cleanup GridHelperCurveLinear/GridFinder.
      Tweak axis_direction demo.
      Small axislines.Axes cleanups.
      Cleanup demo_axes_divider.
      Shorten anchored_artists example.
      Cleanup demo_text_path.
      Deprecate AnchoredEllipse.
      Document default value of corner_mask in the corresponding example.
      Emit explanatory exception when no temporary cachedir can be created.
      Fix invalid range validators.
      Deprecate Tick.set_label{1,2}.
      Simplify lasso_demo example.
      Handle exceptions in numpy::array_view<...>::set().
      Get dlerror() immediately after dlclose() fails.
      Fix incorrect usage of nargs_error.
      Tweak demo_edge_colorbar.
      Correctly pass location when constructing ImageGrid colorbar.
      Cleanup demo_axes_grid{,2}.
      Simplify isort config.
      Fix incorrect doc references.
      Check gridspecness of colorbars on the right figure.
      Deprecate CbarAxesBase.toggle_label.
      Support spine.set() in SpinesProxy.
      Cleanup time_series_histogram example.
      Cleanups to Annotation.
      Fix TransformedBbox.{,full_}contains.
      Update performance note of hist() to mention stairs().
      Cleanup scalarformatter.py example.
      Let widgets/clabel better handle overlapping axes.
      Remove unused/unnecessary parts of _macosx.m View.
      Document that GridSpec.get_subplot_params ignores gridspec.figure.
      Fix subslice optimization for long, fully nan lines.
      Let AxesGrid support Axes subclasses that don't override axis().
      Simplify delaxes.
      Better document the semantics of get_text_width_height_descent.
      Cleanup AxesGrid
      Further simplify AxesGrid._init_locators.
      Further streamline the rainbow_text example.
      Tweak AnnotationBbox coords specification.
      Tweak Annotation docstring.
      Factor out common checks for set_data in various Image subclasses.
      Deprecate unused "frac" key in annotate() arrowprops.
      Shorten axes_grid1 inset_locator code.
      Make sure we don't use C++14 accidentally.
      Dedupe some C++ templates.
      Add missing spacer in tk toolmanager toolbar.
      Turn ContourSet into a standard Collection artist.
      Accept some baseline changes.
      Add note to remove texts in baselines when they are regenerated.
      Deprecate removal of explicit legend handles whose label starts with _.
      Factor out legend/figlegend nargs validation.
      Deprecate FigureCanvasBase.switch_backends.
      Better document the ContourSet API change.
      Simplify SecondaryAxis.set_color.
      Document changes.
      Deprecate cbook.Stack.
      Deprecate inset_locator.InsetPosition.
      Emit xlim_changed on shared axes.
      Only auto-change axes aspect in imshow if image transform is/contains transData.
      Support standard Axes in RGBAxes.
      Clarify that ImageGrid requires limits-sharing.
      Deprecate wrappers combining axes_grid1 and axisartist.
      Fix pickling of axes property cycle.
      Tweak Sankey docs.
      Fix bad histogramming bins in mri/eeg example.
      Tweak hist2d docstring.
      Make annotate/OffsetFrom unaffected by later mutation of coordinates.
      Fix support for Ctrl-C on the macosx backend.
      Do not close figures on backend switch.
      Remove auto from supported ps.papersizes in matplotlibrc.
      Deprecate PdfPages(keep_empty=True).

Artem Shekhovtsov (2):
      Remove outdated comment in `Artist.__getstate__`
      FIX: axes3d.scatter color parameter doesn't decrease in size

Astra (1):
      default value for nonpositve parameter

Brandon Dusch (1):
      Update galleries/users_explain/quick_start.py

BuildTools (3):
      fixed issue #25682
      Added unit test to verify axes limits in Axes.fill_between
      updated to check transform branches

Caden Gobat (1):
      Add CITATION.cff file

Chahak Mehta (3):
      Support only positional args for data in contour
      Update PULL_REQUEST_TEMPLATE.md to include issue cross-reference.
      Reword message to link issue.

Clément Robert (2):
      ENH: switch mpl_toolkits to implicit namespace package (PEP 420)
      FIX: resolve an issue where no ticks would be drawn for a colorbar with SymLogNorm and ranging exactly from 0 to linthresh

ColeBurch (1):
      Fix issue #25458 by changing "normed" to "density"

DWesl (12):
      BUG: Import Python.h before stdlib headers
      TST: Catch fork failures and mark them as xfail instead of fail.
      CI: Add a Cygwin run to GHA CI.
      CI: Move Cygwin CI to new file, trigger on label.
      CI: Also run Cygwin CI when workflow changed.
      STY,FIX: Apply suggestions from code review
      FIX: Include closing quote in conditional.
      TST,STY: Make a subprocess.run helper to xfail fork failures.
      FIX: Fix type and default for argument of new testing helper.
      TST,FIX: Provide default env and switch to more recent name for argument.
      DOC,FIX: Numpydoc section name is Parameters, not Arguments.
      DOC,STY,FIX: Fix syntax for names keyword argument.

Daniele Nicolodi (1):
      BUG: fix IPython's %pylab mode detection

David Kaméus (1):
      mnt: simplify stride calculation in LogLocator.tick_values

David Stansby (21):
      Fix polar transform with non-linear scales
      Add docs for polar transform
      Add a polar log test
      Fix line widths
      Math formatting in PolarTransform docstring
      Fix indentation
      Improve 3D quiver test
      Force style to mpl20
      Ensure TwoSlopNorm always has two slopes
      Fix tests
      Include midpoint in tests
      Add a behaviour change note
      Update flake8 per-file ignores
      Add isort config
      Run isort on examples and tutorials
      Clean + comment MaxNLocator (#25166)
      Expire wx canvas param deprecation
      Document PowerNorm parameters
      Fix comments on clipping in norms
      Add plot_types directory to isort
      Apply isort to plot_types directory

Dusch4593 (1):
      Fix typo in Quick start guide tutorial

Eero Vaher (1):
      Stop recommending `ncol` in legend examples

Elliott Sales de Andrade (156):
      Flatten cbook into a single file
      Expire deprecations from cbook
      Fix toggling layout engines
      Remove remaining deprecations from 3.5
      Remove additional deprecations from 3.5
      Drop Python 3.8 from Cygwin CI job
      Fix Cygwin CI trigger on the schedule
      ci: Only attempt to upload nightlies from successful builds
      ci: Re-add the login shell to nightlies jobs
      Add styling support to Check and Radio buttons
      Warn if activecolor and a facecolor are provided
      Handle modification of RadioButtons.activecolor
      Add what's new docs for button styling
      Remove dead code from deprecated-and-removed block
      Revert "Use system distutils instead of the setuptools copy"
      DOC: Fix broken cross-reference when building PDF
      Fix distribution of test data
      Clean up GitHub statistics script
      Fix extra line in Zenodo cache script
      Update release guide for current practices
      Fix Lasso line cleanup
      Fix setting CSS with latest GTK4
      Increase timeout for interactive backend tests
      Clean up legend loc parameter documentation
      Fix RangeSlider.set_val when outside existing value
      TST: Increase test_set_line_coll_dash_image tolerance slightly.
      Disable discarded animation warning on save
      BLD: Pre-download Qhull license to put in wheels
      Pin sphinx themes more strictly
      Tk: Fix size of spacers when changing display DPI
      Clean up Curve ArrowStyle docs
      Move _SelectorWidget._props into SpanSelector._selection_artist
      Add a test for setting properties on LassoSelector
      Release mouse grabs when owning Axes is removed
      ci: Install pytz for Pandas nightly wheel
      Stop building 32-bit Linux wheels
      Ignore errors loading artifacts from CircleCI
      DOC: Clarify note in get_path_collection_extents
      Remove explicit symbol visibility pragmas
      Skip pgf pdflatex text if cm-super is not installed
      Fix return type of get_plot_commands
      Use _api.nargs_error in more places
      TST: Avoid broken nbconvert
      Ensure ImportError's have a message
      Post stubtest results to GitHub checks
      pgf: Add clipping to text outputs
      Fix 'can not' -> 'cannot' typo
      TST: Import MatplotlibDeprecationWarning consistently
      Remove print_figure overrides in backend subclasses
      Use `-framerate` to set ffmpeg input framerate
      Don't pass vframes to ffmpeg when using a tmpdir
      Ensure extra_args are last input to animation encoder
      Add note about frame rates too ffmpeg writers
      ci: Set apt to retry operations on failure
      TST: Handle missing black more resiliently
      DOC: Fix duplicated words
      ps: Explicitly set language level to 3
      ps: Deprecate the psDefs module-level variable
      ps: Use rectclip instead of custom clipbox
      ps: Use _nums_to_str in more places
      Ignore papersize when outputting plain EPS
      Deprecate automatic papersize in PostScript
      DOC: Fix minor typo in API change notes
      ci: Increase retry count on PR conflict check
      Remove unused Variables from LayoutGrid
      Don't save parents in LayoutGrid
      Deprecate passing extra arguments to Figure.add_axes
      TST: Skip PySide6 6.5.1 for testing
      CI: Mark Tk tests on macOS Azure as xfail
      Drop metadata table when subsetting fonts
      Accept strings for {Cap,Join}Style in MarkerStyle
      Fix types for MarkerStyle
      ci: Merge sdist and wheel building workflows
      qt: Merge window closing event handlers
      qt: Avoid setting Qt5 attributes on Qt6
      ci: Skip PyQt6 6.5.1 wheels
      ci: Move Python 3.11 job to Ubuntu 22.04
      pdf: Use explicit palette when saving indexed images
      Correct bounding box calculation for text markers
      Fix pgf tests with TeXLive 2022
      Fix new warnings in compiled extensions
      Stop building 32-bit Windows wheels
      Stop building universal2 wheels
      ps: Fix anchoring of rotated usetex text
      TST: Increase tolerance for older Ghostscript
      TST: xfail Tk test on Python 3.9 Azure macOS also
      DOC: Remove third party sample images
      DOC: Remove static alpha example images
      DOC: Remove static pgf example images
      DOC: Remove unused logos and badges
      Avoid Py_VerboseFlag deprecation from Python 3.12
      ci: Fix typo for nightly builds
      ci: Add tzdata to nightly builds
      Re-export textpath types in text
      Avoid deprecated typing hints
      DOC: Restore banner indicating docs are unreleased
      DOC: Use consistent font for anatomy example
      qt: Mark canvas for re-draw after savefig
      Fix removal of Figure-level artists
      Fix triage tool due to Qt bump to 5.12
      TST: Remove extra dummy Axis classes
      Fix default return of Collection.get_{cap,join}style
      Improve typing in pyplot (#26385)
      Add typing for internal helpers
      TYP: Add type hints to testing module
      Update type hints for font manager and extension
      Remove old What's new entries
      Fix pyparsing version check
      macos: Don't leak None in Timer cleanup
      Delete second MRI demo example
      Improve button widget examples a bit
      Stop ignoring typing on contourpy
      TYP: Mark more items as optional
      Avoid setting SubFigure.bbox_relative to None
      TYP: Move some things from Bbox to BboxBase
      TYP: Fix version info types
      Fix some triangulation types
      Fix types for Transform.transform_path*
      Add type hints for IPython _repr_* helpers
      Fix type hints for Legend.bbox_to_anchor
      Fix up image module type hints
      Fix types for ArtistList init
      Fix types for zoom/pan info
      Add missing layout engine type hints
      Fix type of writer argument to Animation.save
      Fix type hint for SubplotSpec init
      Fix type hint for hexbin(reduce_C_function=...)
      Remove explicit __init_subclass__ type hints
      Fix patch styling type hints
      Deprecate passing non-int to Table.auto_set_column_width
      Remove Fonts.get_used_characters
      TST: Fix monkey patch of find_tex_file
      TST: Remove dead code for LogFormatterSciNotation test
      DOC: Convert some blockquotes to code blocks
      DOC: Dedent blocks to fix accidental blockquotes
      Fix return value of Text.update
      TYP: Add several missing return type annotations
      Canonicalize Text.set_fontname
      Tighten return type of Axes.bar_label
      ps: Default to using figure size as paper
      TST: Correctly skip missing distillers
      Backport PR #26504: TYP: Add overload to specify output of Colormap.__call__ when possible
      Backport PR #26514: Clarify interaction between params of get_path_collection_extents.
      Backport PR #26572: [DOC]: clarify pre-commits and editing workflow
      Backport PR #26635: [MNT] Do not configure axes properties via subplots(..., subplot_kw={...})
      Backport PR #26597: Squeeze post-convert
9E88
ed values when validating limits
      Backport PR #26649: [DOC] Remove "Discouraged" notices that have been superseded by deprecation
      Backport PR #26695: Bump actions/checkout from 3 to 4
      Backport PR #26601: Avoid checking limits when updating both min and max for contours
      Backport PR #26709: DOC: consistency in docstrings of formatting of array-like
      Backport PR #26628: DOC: move install related FAQ to install docs
      Merge branch v3.7.x into v3.8.x
      Backport PR #26700: Check type for set_clip_box
      DOC: Pin mpl-sphinx-theme to 3.8.x
      Backport PR #26687: Remove usage of recarray
      Backport PR #26702: converted coc to rst and put links in code_of_conduct.md

Eric Firing (2):
      Pcolormesh with Gouraud shading: masked arrays
      Use the mask from the stored array

Eric Larson (1):
      DOC: Suggest replacement for tostring_rgb (#25502)

Eric Prestat (2):
      Add deprecation for setting data with non sequence type in `Line2D` - see https://github.com/matplotlib/matplotlib/pull/22329
      Add changelog note

Eric Wieser (1):
      Make `.axis(zmin=...)` work on 3D axes

Evgenii Radchenko (3):
      Adds tests for nargs_err in legend, stem, pcolorfast and cycler.
      Changed assertions to pytest.raises matches.
      Got rid of unnecessary 'raise...as' statements.

Fabian Joswig (2):
      tests: failing test for local style import with ./ in name added.
      fix: import of local style with ./ in name fixed.

Felix Goudreault (4):
      Fix issue #25164
      Generalize test for multiple backends.
      Fixed similar bug in wx backend.
      Moved LA file mode for toolbar icon test in test_backends_interactive.py

Gabriel Madeira (4):
      added alias to gray and grey match same colormaps
      added grey to gray aliases
      fixed gr[ea]y colormap alias
      updated with alias for reverse spelling

Gautam Sagar (1):
      Backport PR #26608: Removed unnecessary origin keywords

Gokberk Gunes (3):
      Connect stream lines if no varying width or color
      Regenerate test images for no varying width/color
      DOC: behavior change note streamplot no varying width/color

Greg Lucas (29):
      FIX: Handle uint8 indices properly for colormap lookups
      MNT: Update code with Python 3.9+ syntax
      MNT: Add git blame ignore for pyupgrade 3.9+
      MNT: Update lru_cache to cache where appropriate
      FIX: Only send one update signal when autoscaling norms
      MNT: Remove auto-flattening of input data to pcolormesh
      FIX: Correctly report command keypress on mac for Tk + Gtk
      CI: Pin reviewdog eslint to use node 18.13
      CI: Don't run test workflows for doc changes
      MNT: Use WeakKeyDictionary and WeakSet in Grouper
      FIX: Remove some numpy functions overrides from pylab
      FIX: Use mappable data when autoscaling colorbar norm
      FIX: Decrease figure refcount on close of a macosx figure
      FIX: macosx, clear pending timers when the figure is destroyed
      FIX: macosx, always put timers on main thread
      FIX: Update the colormap object's name when registering
      TST: Add test for layoutgrid memory leak
      FIX: Handle masked arrays for RGBA input with scalar mappables
      MNT/FIX: macosx change Timer to NSTimer instance
      MNT: Ensure positive interval for timers
      CI: Skip gtk3cairo and wx interactive timer test
      FIX: macosx keep track of mouse up/down for cursor hand changes
      CI: Add pre-release installs to upcoming tests
      ENH: Add a PolyQuadMesh for 2d meshes as Polygons
      ENH: macosx allow figures can be opened in tabs or windows
      Update src/_macosx.m
      macosx: Cleaning up old sigint handling from objc
      Backport PR #26491: TYP: Add common-type overloads of subplot_mosaic
      Backport PR #26767: Trim Gouraud triangles that contain NaN

Hai Zhu (1):
      Add public method set_loc() for Legend

Haojun Song (1):
      Use classic style in old what's new entries (#25623)

Hasan Rashid (1):
      [Doc]: Add alt-text to images in 3.6 release notes #24844  (#24878)

II-Day-II (1):
      fix: revert simplification of stride calculation in LogLocator (#3)

Ian Hunt-Isaak (1):
      link to ipympl docs instead of github

Ian Thomas (2):
      Use CLOSEPOLY kind code to close tricontourf polygons
      Avoid using deprecated API

Irtaza Khalid (1):
      Delete redundant examples from user gallery that are also present in the annotations tutorial (#25153)

Jan-Hendrik Müller (1):
      Apply suggestions from code review

Jarrod Millman (1):
      Upload nightlies to new location

Jody Klymak (41):
      FIX: make colorbars for log normed contour plots have logscale
      DOC: animation faster
      DOC: change artists, add annotation
      DOC: update doc string for update
      DOC/BUILD add ability for conf to skip whole sections
      DOC: explain figures [skip actions] [skip appveyor] [skip azp]
      BLD: only doc CI build
      FIX
      DOC: cleanup constrained layout tutorial [skip actions] [skip azp] [skip appveyor]
      DOC: explain how ot make a fixed-size axes [ci doc]
      DOC: add more cross-ref and explanatory images for backends.
      GitHub: inactive label [skip ci]
      MNT: re-organize galleries under one subdir [ci doc]
      DOC/BLD: make log compatible with pst [ci doc]
      DOC: remove default logo [ci doc]
      DOC: update suptitle example [ci doc]
      DOC: user/explain reorg (and moving a lot of tutorials). (#25395)
      DOC/BLD: stop using sg head [ci doc]
      DOC: improve interpolation kwarg doc in imshow [ci doc]
      DOC: fix Sphinx Gallery discussion to explain mixed subddirs [ci doc]
      FIX: don't round image sizes to nearest pixel if
      FIX: check units for bar properly
      DOC/BLD: plot directive srcset
      DOC: improve User Guide front page
      DOC: fix
      DOC: fix
      Fix first plot
      FIX: new plot
      DOC: fix levels in user/explain/figure
      DOC: visible TOC to the sphinx gallery user/explain READMEs
      DOC: make user/explain/index cards
      DOC: make user/explain/index cards
      DOC: fix TOC users
      DOC: remove users_explain/axis
      DOC: add scales to Axes docs
      Doc: Add ticks document
      Doc: Add ticks document
      Doc: Add ticks document
      Fix links
      DOC: bit more context on scale
      WARN: fix warning for set_ticklabels

Johann Krauter (22):
      Adding ellipse_arrow.py example and fix #25477
      adapt the = lines to fix docu build test
      use plt.subplot()
      Now the patches.Ellipse is used for the plot and a marker ">" at the end point position of the ellipse minor axis rotated by the transform.Affine2D method.
      changed function docstring to numpy style
      fix flake8 build fail
      added get_vertices and get_co_vertices methods the Ellipse
      deleted blank lines
      sorry, some more whitespaces in blank line
      added entries in stubs, resolve docu issues
      resolve flake8
      resolve return values
      overseen some whitespaces, sorry
      soved isort fail. How to solve the subs fail?
      added some more unittest, just in case...
      adapted unittest
      adapted stubs file
      resolve pre-commit codespell
      added get_vertices_co_vertices.rst to next_whats_new folder
      get_vertices and get_co_vertices returns now the coordinates of the major and minor axis depending on the length between the coordinates of points
      Changed get_vertices and get_co_vertices using get_patch_transform().transform() for coordinate calculations.
      fix in unittest due to different ordering of vertices return values

Jonathan Wheeler (1):
      Added option for an offset for MultipleLocator

Julian Chen (5):
      FIX: scaling factor for window with negative value
      Test function for scale factor of flattop window
      fix bug in `test_psd_window_flattop`
      update code formatting for `test_psd_window_flattop`
      code formatting: remove extra blank line

Kyle Sunden (160):
      Remove support for python 3.8
      Add development release note
      Add --only-binary to nightly pip install
      Update circle config, missed originally
      only binary requires argument
      Add back no-lto test
      Pin sphinx != 6.1.2
      tests workflow does not use requirements/doc/doc-requirments.txt
      bump since_mpl_version
      Bump kiwisolver and pillow minvers
      Update dependencies docs
      Swap ipython directives for code-block directives
      drop 3.11 to 3.10 on appveyor
      Add ImportWarning filter for get_attr test (needed for gtk4)
      STY: Document line change bump to 88 char
      Add superseded note to MEP8
      Terser statements (from review comments)
      STY: start docstring on second line
      Remove unused import of re introduced in #23442
      Remove tests.py runner from repo root
      Revert "Fix deprecations of *Cursor widget event handlers"
      Revert: Deprecate access to Cursor/MultiCursor event handlers.
      Add simulated mouse events to cursor demos
      remove calls to set_visible(False)
      One last _onmove in tests that was not caught by revert
      Force extra draw to excercise clear machinery
      I think this should actually test it [ci doc]
      BLD: Unbreak github tests workflow
      Add ruff config to pyproject.toml for devs who are interested
      Clean up ruff config for rules both selected and ignored
      backport config changes to flake8
      Use except Exception in place of bare except
      Fix displacement of colorbar for eps with bbox_inches='tight'
      Revert "Fix logic line break"
      Revert "Improve unit axis label test"
      Revert "Make have_units_and_converter private"
      Revert "Update units_rectangle baseline image"
      Revert "Fix unit info setting axis label"
      Revert "Add test for axis label when units set"
      TST: Add test which fails on main but passes on revert
      Remove straggler 3.7 release notes
      Update release guide instructions post v3.7.0
      Reorder release branch creation and include merge up procedure
      Add UAT for notebook backends, remove contact numfocus
      Spelling and grammar fixes
      Update announcement docs
      Apply suggestions from code review
      Edit error messages for when metadata is passed to `savefig` (#25430)
      DOC: Fix the bars having numeric value of cm but labeled as inches
      Add ipykernel as an explicit doc dependency
      Use svg instead of png for font manager memory leak test
      Initially make mypy pass for tests
      Insert the majority of the pyi stub files
      __init__.pyi, add __all__ to __init__
      Add mypy to reviewdog workflow
      Add __future__ imports to tests where inline type hints are included
      Update boilerplate to include annotations from pyi files
      pyplot autogenerated bits with annotations
      Use black for autogenerated portions of pyplot. remove textwrap usage
      Type handwritten portion of pyplot
      Update for api changes since mypy branch was started
      STY: run black over pyi stub files
      Make Color a union type of 3/4-tuple of floats and str
      Resolve some typing todos
      Update Axes.pyi pie stub to include hatch, regenerate pyplot with hatch annotation
      Redistribute types defined in _typing to their logical homes
      Get sphinx building without errors
      Update for expired 3.5 deprecations
      Boilerplate.py review comments
      Review and CI warnings
      DOC: Add development release note and note to add type hints into coding guide
      Add more explicit error message for [r,theta]grids
      Best practices for type hint stub files (flake8-pyi)
      Reorganize to typing.py, rename Color to ColorType
      Update for recent internal API changes
      Add script for identifying missing/broken type hints
      DOC: Update sphinx to include typing module (and remove aliases which moved)
      Mypy type ignore in pyplot
      Address approx 100 issues identified by mypy.stubtest
      Add mypy stubtest CI checks
      Include pyi stubs in wheels/sdists
      Ignore missing imports in mypy config
      Relax excludes on mypy config to not require source loc 'lib/'
      Fix missing stubs from ci that didn't flag locally
      Re disambiguate pyplot Axes references
      Add docs to tools/check_typehints.py
      Update for changes on main: Axes.ecdf, guiEvent read only, param deprecation
      Review comments from Qulogic
      Ensure tinypages ignored by mypy/stubtest
      Rename parameters for transform_[non_]affine
      Rename more parameters for consistency with superclass method parameter names
      TST: Unbreak pyside65 by installing libxcb-cursor0
      Add deprecation note for parameter renames
      Include data kwarg in pyi stubs
      Rerender pyplot.py
      more precise api note
      Pin mypy to v1.1.1 for CI
      Clean up FileIO type hints
      TST: Bump exclude for newly released nbconvert
      Remaining mpl3.6 deprecations
      Update tests for deprecated behavior
      Add release notes for deprecation expiration
      s/deprecated/removed/
      deprecated -> removed in api note
      remove filled from docstring
      TYP: Fix type hint (and docstring) for Bbox.intersection
      TYP: allow for xlim/ylim passed as single tuple
      Add (color, alpha) tuple as a valid ColorType
      TYP: Clean up CapStyle/FillStyle type hints
      py39 compatibility in typing.py
      Fix SelectorWidget.visible deprecation
      Remove 4-tuple from RGBColorType (only valid for RGBA)
      Update codespell ignores
      Only print actually tested QT APIs when erroring
      Explicitly test for missing qt bindings
      Fix release note reference to pyplot.axis
      Missing return types for Figure
      Remove unused imports from stub files
      [DOC/TYP]: Allow any array like for set_[xy]ticks, not just list of float
      [TST] Adjust tests to be more tolerant to floating point math operations being imprecise
      [TYP] Correct type hint for Transform.transform return
      [TYP] Reduce stubtest ignores
      Fix typo of missing quote in core font docs
      Add setuptools as an explicit build requirement
      [MNT] Update nightly wheels install location
      Limit Forward references in Mathtext parser
      Get correct renderer for axes_grid1 inset axes with bbox_inches=tight
      Update devdocs with more details about type hinting, especially deprecations
      Bring existing parameter keyword only deprecations in line with documentation
      Fix double backticks
      review comments/clarifications
      MNT: Unpin pyparsing, xfail error message tests for pyparsing 3.1.0
      Adjust type hint of Norm.__call__ to return masked array
      Use overloads for Normalize.__call__ and inverse, ensure NoNorm returns type consistent with superclass
      Remove soon to be deprecated nan/inf aliases
      Adjust for upcoming numpy repr changes
      Update github stats for v 3.8.0rc1
      REL: v3.8.0rc1
      Bump off of release tag for v3.8.0rc1
      Backport PR #26498: Add plausible analytics to the documentation pages
      Backport PR #26173: Synchronize mathtext docs and handling
      Backport PR #26526: Bump pypa/cibuildwheel from 2.14.1 to 2.15.0
      Backport PR #26513: Tweak shape repr in _api.check_shape error message.
      Backport PR #26545: Fix size inferral when using cairocffi
      Backport PR #26554: Remove NumPy abs overrides from pylab
      Backport PR #26519: Fix mathtext mismatched braces
      Backport PR #26543: Add ninja to Cygwin builder
      Backport PR #26573: [DOC]: codespace link in contribute index
      Backport PR #26576: Use sys.platform over os.name
      Backport PR #26614: Properly disconnect machinery when removing child axes.
      Backport PR #26598: FIX: array labelcolor for Tick
      Backport PR #26582: MNT: Enable wheels for Python 3.12
      Backport PR #26348: Test some untested Locator code
      Backport PR #26657: DOC: Fix some small issues
      Backport PR #26541: TYP: Add typing on mathtext internals
      Backport PR #26689: Fix error generation for missing pgf.texsystem.
      Backport PR #26705: [Doc] Small fixes found by velin
      Backport PR #26763: DOC: Add redirects for old gitwash files
      Prepare for release v3.8.0
      REL: v3.8.0

Larry Bradley (1):
      DOC: fix typo

LemonBoy (4):
      Filter out inf values in plot_surface
      Add test for surface plot with inf values
      Fix flake8 errors
      Restore np.array call

Lukas Schrangl (4):
      Fix PolygonSelector.clear()
      Call update() only once in PolygonSelector.clear()
      Add test for PolygonSelector.clear()
      Apply code review suggestions

Marisa Wong (1):
      BF - added fix for missing minor ticks

Mateusz Sokół (2):
      ENH: Update numpy exceptions imports
      ENH: Make import selection implicit

Matt Newville (1):
      wx backend should flush the clipboard before closing it

Matthew Feickert (4):
      DOC: Use scientific-python-nightly-wheels for nightly build index
      CI: Use scientific-python/upload-nightly-action
      MNT: Defer to Scientific Python org for upload removal
      MNT: Use commit SHA of cibuildwheel action release

Matthew Morrison (1):
      DOC: Update user_explain\text\README.txt to reference example page

Matthias Bussonnier (3):
      DOC: Remove space after directive name, before double-colon..
      MAINT: don't format logs in log call.
      Update lib/matplotlib/_mathtext.py

Melissa Weber Mendonça (3):
      Apply suggestions from code review
      Update token name
      DOC: Add section on how to start contributing (#25214)

Michael Dittrich (1):
      feat: add new SI prefixes to ticker

Michael Higgins (1):
      changed to RST (#25594)

Mubin Manasia (1):
      [Doc]: Fix navigation sidebar for Animation examples

Mudassir Chapra (1):
      added a note to avoid f-strings in logging (#25081)

NISHANT KUMAR (2):
      TST: Test for acorr function with integer array input
      BUG: Saving normalisation result in float (explicit upcasting)

Niranjan (1):
      Modify rainbow_text() function to use annotate() function (#25993)

Noy Hanan (1):
      Add ability to use float-tuple like kwarg legend(loc...) for rcParams['legend.loc'] #22338

Olin Johnson (1):
      Update lib/matplotlib/axes/_axes.py

Oscar Gustafsson (125):
      Add tests for mpl_toolkit anchored artists
      Minor cleanup and add test for offsetbox
      Expire module deprecations
      Remove special casing for PyPy not required anymore
      Rename y -> r
      Expire deprecations in widgets and keyword only arguments for Selectors (#24254)
      Deprecate unused/undocumented functions
      Suppress pyparsing warning
      Make arguments other than renderer keyword-only for get_tightbbox
      Use _axis_map instead of getattr
      Unbreak Azure CI
      Minor refactoring of Axes3D
      Fix spelling of GitHub
      Add links to C++-compilers and TeX distributions
      Minor cleanup and optimization of Sketch
      Bump NumPy to 1.21
      Update doc/api/next_api_changes/development/24919-KS.rst
      Increase timeout to GitHub API
      Support both Bbox and list for bbox to table/Table
      Replace checking Number with Real
      Refactor parts of Axis for readability
      Add mpl_round_to_int
      Re-enable CI buildwheel and cygwin labels
      Check file path for animation and raise if it does not exist
      Fix doc issues identified by velin
      Do not set clip path if it exists
      Correct patheffects doc
      Remove LGTM references and minor doc fixes
      Better axis labels for examples
      Unify pickradius arguments and checking
      Remove date_ticker_factory
      Remove checkdep_usetex
      Expire deprecations
      Remove stride_windows
      Make most arguments to Line2D keyword only
      Remove get_font_config
      Make most arguments to Text keyword only
      Remove get_rotation
      Make all arguments to Collection and most to subclasses keyword only
      Remove additional arguments to get_window_extent
      Remove delay and output_args properties from ImageMagickBase
      Make most arguments to Figure/figure keyword only
      Expire parameter renamings
      Make most arguments to Image classes keyword only
      Make most arguments to Legend keyword only
      Make most arguments to OffsetBox classes keyword only
      Make most arguments to Cell keyword only
      Remove get_texmanager
      Remove identify
      Remove move_from_center. tick_update_position, set_pane_pos, and w_*axis
      Remove AddList, Padded, SizeFromFunc, and GetExtentHelper
      Remove delta* and new_gridlines
      Remove dist and make most argument to set_zlim keyword only
      Make most argument to set_*lim keyword only
      Remove label
      Remove execute_constrained_layout
      Remove CleanupTestCase, cleanup, and check_freetype_version
      Remove use_line_collection argument to stem
      Remove get_renderer_cache
      Remove privatized or unused helper functions
      Make most arguments to Patch classes keyword only
      Fix documentation
      Add api change note
      Take review comments into account
      Fix casing of RGB(A)
      Link to numpy.uint8
      Link to Affine2D(Base)
      Only document the __add__ and __sub__ special members
      Improve/correct documentation
      Add links for path types and general improvements
      Print incorrect tz argument in error message
      Deprecate empty offsets in get_path_collection_extents
      Clarify how to change side of the TickedStroke ticks
      mathtext now supports \text
      Optimize C code
      Fix issue with shared log axis
      Add configuration of Shadow and pie shadow
      Bump invalid hatch removal
      Fix what's new note for text
      Fixed eventplot issues
      Improve color documentation and typing
      Add tests for missing text wrap cases
      Add test for Path.contains_path
      Update, correct, and add badges/links
      Remove unused code
      Deprecate draw_rect and get_xys
      Remove unused functions in _path
      Rewrite offset_copy for better error message
      Add more relational operators to mathtext
      Add comment on issues marked 'good first issue' (#25735)
      Correct spelling in 'Good first issue'
      Simplify wording
      Deprecate TexManager.texcache
      Install extra requirements when testing with 3.11
      Test GUI
      Correct Unicode for [lg]napprox
      Start basing mathtext tutorial on mathtext parser
      Enable branch coverage for C/C++ code
      Clarify how to get data from Line3D and fix formatting issue
      Restrict pyparsing version
      Update lib/matplotlib/texmanager.py
      Add _val_or_rc-function
      Do not clear Axis when registering spine
      [doc] Improve documentation types
      [Doc] Add note about (str, alpha) version added
      Add more sizeable delimiters
      Bump minimum QT5 version to 5.12
      More micro optimizations
      Remove unused variables
      Some more micro optimizations
      Add tests for LogFormatter.format_data and format_data_short
      Remove unused private method
      [DOC] Update dependency documentation
      Only do pchanged and set stale when value changes
      [DOC] Documentation fixes
      Backport PR #26532: Fix input check in Poly3DCollection.__init__
      Backport PR #26529: Fix MathText antialiasing
      Backport PR #26619: [DOC] Clarify some tick-related docstrings
      Backport PR #26540: TYP: Add overloads for FT2Font.get_sfnt_table
      Backport PR #26656: TYP: Fix some small bugs
      Backport PR #26566: MAINT: Numpy 2.0 deprecations for row_stack and in1d
      Backport PR #26542: TST: Ensure test_webagg subprocess is terminated
      Backport PR #26245: [pre-commit.ci] pre-commit autoupdate
      Backport PR #26676: [DOC] Slightly improve the LineCollection docstring
      Backport PR #26671: [DOC] Enhance API reference index

Pavel Zwerschke (2):
      Switch to setup-micromamba
      Fix CI

Peter Cock (1):
      Reverse stackplot legend to match data display

Petros Tzathas (1):
      Change documented default value of nonpositive parameter

Photoniker (10):
      Update ellipse_arrow.py
      Update ellipse_arrow.py
      Update ellipse_arrow.py
      Update ellipse_arrow.py
      Update ellipse_arrow.py
      Update ellipse_arrow.py
      Update ellipse_arrow.py
      Update patches.pyi
      Update galleries/examples/shapes_and_collections/ellipse_arrow.py
      Some correction :lipstick: ellipse_arrow.py

Pierre Haessig (4):
      link style sheets reference to customization tutorial
      fix type and line length
      cut long line
      fix directive for matplotlib.style data

Pieter Eendebak (10):
      Micro optimization of plotting (#26303)
      optimize imshow
      fix check
      workaround
      ensure error reporting is sorted
      add test for strip_math
      add test for strip_math
      revert strip_math tests
      remove import
      Increase coverage (#26346)

Prajwal Agrawal (1):
      Backport PR #26462: Boxplot fix median line extending past box boundaries #19409

Priyanshi Gaur (1):
      Add locator API links to tick-locators example (#25177)

RadostW (1):
      Whisker length, more precise description (#25135)

Rahul Mohan (3):
      Update README.txt
      Update README.txt
      Update README.txt

Ratnabali Dutta (17):
      Check lock owner before lock_release
      Check attribute error for lasso
      Check format_string comma is unchanged
      Add missing relational operator
      Add unicode mappings to binary operators
      Arrange layout for relational operators
      Add missing operators hex
      Add triangle symbol
      Remove duplicate symbol entries
      Add relation operators
      Add test for mathtext operators
      Add boldsymbol functionality in mathtext
      Add middle for delims
      Add substack command for mathtext
      Add substack command for mathtext
      Fix pyparsing version check
      Add next_whats_new entries for mathtext features (#26418)

RishabhSpark (1):
      added layout="compressed" for pyplot #25223 (#25234)

Rob Righter (3):
      Make default facecolor for subfigures be transparent ("none"). Fix for issue #24910 (#25255)
      Bugfix for loc legend validation
      Fix axes vlines and hlines using wrong coordinates

Ruth Comer (54):
      Makefile html-noplot,clean:  constrained layout tutorial image handling
      FIX: adjust_bbox should not modify layout engine
      update matplotlibrc urls
      DOC: tweak array indexing
      ENH: pad_inches='layout' for savefig
      DOC: use 'none' in set_layout_engine
      ENH: gapcolor for LineCollection
      DOC: remove constrained_layout kwarg from examples [ci doc]
      DOC: reorder CI control guidance [ci doc]
      command to start of bullet [ci doc]
      tweak skip ci instructions [ci doc]
      DOC: correct default value of pcolormesh shading
      DOC: remove constrained_layout kw [skip actions] [skip azp] [skip appveyor]
      unpin reviewdog
      add layout='none' option to Figure constructor [skip appveyor] [skip actions] [skip azp]
      fix typo [skip ci]
      FIX: use wrapped text in Text._get_layout [skip circle]
      "Inactive" workflow: bump operations-per-run [skip ci]
      CI: skip appveyor for doc only change [ci doc]
      “Inactive” workflow: increase operations to 75 [skip ci]
      TST: unbreak appveyor
      bump operations to 100 [skip ci]
      Skip Appveyor for doc only change (second attempt) [skip ci]
      DOC: remove rcdefaults from barh example
      FIX: use locators in adjust_bbox
      bump operations to 125 [skip ci]
      gitignore doc/users/explain [skip ci]
      DOC: combine marker examples [ci doc]
      bump operations to 150 [skip ci]
      FIX: _safe_first_finite on all non-finite array
      MNT: deprecate unused numdecs LogLocator param
      MNT: simplify deprecation of numdecs attribute
      numdecs deprecation: tidy up
      CI: skip Azure Pipelines for doc-only change
      DOC: changenote for max/min minor ticks fix
      unbreak doc build with Sphinx 6.2
      fix typo in ruff config [skip ci]
      DOC: add remote upstream
      DOC: don't advocate deleting main branch
      add close label for inactive issues [skip ci]
      'Inactive' workflow: reduce run frequency [skip ci]
      PR welcome: getting attention [skip ci]
      Don't show type hints in rendered docs
      Skip tests for users-explain gallery [skip ci]
      FIX: wspace and hspace in subfigures without layout engine
      FIX: AnnotationBbox extents before draw
      TST: simplify mask in pcolor writing to mask test
      ENH: clip_path keyword for contour and contourf
      FIX: labels at start of contours
      ENH: Collection.set_paths
      DOC: contourf antialiased default
      Reinstate & deprecate ContourSet.antialiased
      Fixes for pycodestyle v2.11
      DOC: update ContourSet attributes deprecation advice

Sam (1):
      Enable automatic browser-level lazy-loading of images in HTML documentation

Scott Shambaugh (12):
      Fix 3d aspect ratio error cases
      Draw 3D gridlines below more important elements
      Fix broken symlinks for expected images on WSL
      3D plots shared view angles
      Fix displayed 3d coordinates showing gibberish (#23485)
      Break axis3d drawing into subfunctions
      Implement 3d axis positions
      Separate out 3D axis label and ticks positions
      Whats new for 3d axis positions
      Call out which pane is hovered for 3d hover coordinates
      Cleanup
      Tests, fix, and whats new from code review

Shreeya Ramesh (1):
      FIX: make inset axes transparent on figures

Sia Ghelichkhan (1):
      returning _facecolor2d and _edgecolor2d as arrays

Smeet nagda (1):
      migrate from utcfromtimestamp to fromtimestamp (#25918)

SnorfYang (3):
      Doc: Replace matplotlibrc.template
      remove some github paths
      revise

Stefanie Molin (4):
      BUG: Return null Bbox when there is no intersection for bar_label center.
      TST: Add test case for bug fix.
      TST: Switch to fig.draw_without_rendering() in test.
      Fix codecov.yml so it is valid.

Steffen Rehberg (11):
      DOC: Enable Opensearch
      MNT: Fix double % signs in matplotlibrc
      DOC: Fix docstring formatting
      DOC: Fix thumbnail title for sphinx gallery
      Remove links in title altogether
      Fix get_constrained_layout_pads()
      DOC: Improve readability of date formatters/locators example
      DOC: Clarify terminology
      DOC: fix rst formatting
      DOC: Modernize Colorbar Tick Labelling example
      DOC: Fix image_rotator

Thomas A Caswell (72):
      TST: xfail the windows font test
      DOC: add behavior change note for only considering fonts in registry
      DOC: clarify that Matplotlib uses standard library logging module
      DOC: fix english and cross ref
      MNT: remove check that exists only for removed deprecation
      TST: remove tests of (now expired) deprecation warnings
      MNT: remove orphaned module attribute
      DOC: tweak wording on ArtistList class docstring
      DOC: add notes for removals
      DOC: change all sphinx-gallery section separators to # %%
      DOC: document sg separator preference
      DOC: add a sub-heading
      STY: make allowed line length 9 longer to 88 from 79
      FIX: fully invalidate TransformWrapper parents before swapping
      FIX: only try to update blit caches if the canvas we expect
      FIX: handle the change detection differently for multicursor
      FIX: do not use deprecated API internally
      MNT: put changed canvas logic in private method with docstring
      DOC: restore SHA to footer
      BLD: pin mpl-sphinx-theme to support sha in footer
      DOC: add cache-busting query to switcher json url
      DOC: add include source to a 3.7 whats new
      FIX: do not cache exceptions
      MNT: delete references to frame objects
      MNT: still use Agg for test but avoid pillow
      MNT: use less eval
      DOC: add a note about linewidth to scatter docs
      DOC: improve wording
      DOC: fix spelling
      FIX: correctly unset the layout engine in Figure.tight_layout
      MNT: fix typo in test name
      DOC: clarify the milestoning and backport policy wording
      DOC: tweak wording in warning
      DOC: clarify how colorbar steals space
      MNT: update Shadow init signature
      DOC: edits from review
      DOC: re-order docstring
      DOC: restore navigation documentation
      MNT: minor change to test
      DOC: add steering council email to triage page
      DOC: reference to page non-members can not see
      DOC: remove note about pinging team
      DOC: fix bad copy-edit
      Revert "Merge pull request #24555 from parthpankajtiwary/symlog-warn"
      API: forbid unsafe settings and keywords in AbstractMovieWriter.grab_frame
      MNT: move logic from Animation.save to AbstractMovieWriter.saving
      DOC: correct outdated comment in matplotlibrc
      MNT: remove test images from mathtext tests that have been removed
      MNT: add VNClte porte by default
      MNT: py312 deprecates pickling objects in itertools
      FIX: also account for itertools.count used in _AxesStack
      CI: skip tk tests on GHA as well
      FIX: also copy the axis units when creating twins
      MNT: remove execute bit on rst file
      DOC: remove outdated page on git
      DOC: ensure that the bounding box is scaled with dpi in example
      DOC: add version added note to new clear kwarg
      STY: remove whitespace
      FIX: do not warn when calling tight_layout multiple times
      FIX: move the font lock higher up the call and class tree
      TST: add coverage for case when the figure is not visible
      LIC: Update the license we bundle the colorbrewer colormap data with
      DOC: add note about manually downloading qhull + freetype
      CI: all supported versions of Python are supported by numpy 1.25
      BLD: stop skipping musl wheel builds
      DOC: add note that we now build musl wheels
      BLD: do not build musl + arm
      DOC: go back to baseclass
      Backport PR #26487: DOC: Remove unused image rotator
      Backport PR #26502: TST: Increase some tolerances for non-x86 arches
      Backport PR #26721: Add a Python 3.12 classifier
      Backport PR #26719: Fix issue with missing attribute in Path3DCollection

Thomas J. Fan (1):
      Use pybind11 in ttconv module

Tigran Khachatryan (1):
      Update FancyBboxPatch dosctring

Tim Hoffmann (38):
      Modify "Annotating an Artist" of Annotations tutorial
      Change coordinates in Annotations tutorial
      Replace transAxes example in Annotations tutorial
      Add Figure methods get_suptitle(), get_subxlabel(), get_supylabel()
      Correctly hide download buttons using CSS
      Improved exception messages
      Replace random values by hard-coded numbers in plot-types ...
      Discourage fontdict
      Update watermark example
      Add note that subfigure is still provisional to docstring
      Cleanup date tick locators and formatters
      Rewrite Tick formatters example
      Improve exception message for set_ticks() kwargs without labels
      Simplify MRI with EEG example
      Move pylab documentation to its own module page
      Restructure interface section of API Reference index page
      DOC: Clarify the difference between document and section references
      DOC: Add a warning that ticks are not persistent
      Rename an internal parameter of _label_outer_x/yaxis()
      Support removing inner ticks in label_outer()
      Clarify behavior of norm clipping
      DOC: Update dropped splines example
      Backport PR #26509: Update/tweak SpanSelector docs.
      Backport PR #26578: MAINT: add __pycache__/ to .gitignore
      Backport PR #26581: Deduplicate test for toolbar button icon LA mode.
      Backport PR #26591: Fix ToolBase.figure property setter.
      Backport PR #24711: Test with Python 3.12
      Backport PR #26622: [Doc] Improve DSP-related examples
      Backport PR #26633: [Doc] Shorten documentation links in widgets
      Backport PR #24209: List the webagg_core module in the sphinx docs.
      Backport PR #26636: [Doc] Improve set_layout_engine docs
      Backport PR #26641: [Doc] Add ACCEPTS for some Axes set methods
      Backport PR #26521: Replaced list with tuple in pyplot for axes
      Backport PR #26646: Use standard method for closing QApp when last window is closed.
      Backport PR #26470: [DOC]: mathtext tutorial-consolidate explain and notes
      Backport PR #26193: Sort tex2uni data in mathtext
      Backport PR #26665: Clarify loading of backend FigureCanvas and show().
      Backport PR #26762: MNT: Numpy 2.0 removals from ndarray class

Tom (1):
      write addfont example (#24866)

Tom Sarantis (2):
      Added get_shape as an alias for get_size + tests (#25425)
      Remove nonfunctional Axes3D.set_frame_on and get_frame_on methods. (#25648)

Tunç Başar Köse (1):
      Add shadow coloring for legends and associated tests

Utkarsh Verma (1):
      Replace usage of WenQuanYi Zen Hei by Noto Sans CJK (#25726)

Vishal Pankaj Chandratreya (1):
      Em dashes instead of consecutive hyphens. (#25211)

Vladimir Ilievski (1):
      Allow setting default AutoMinorLocator  (#18715)

Waleed-Abdullah (1):
      decreased timeout for local interactive tests

Y.D.X (1):
      Remove a redundant comma

Yi Wei (10):
      FIX: Axis offset mispositioning in plot_surface
      FIX: pcolormesh writing to read-only input mask
      FIX: pcolormesh writing to read-only input mask
      add tests
      fix formatting
      check if the mask is unwritable
      add test_pcolorargs_with_read_only
      add assertions
      copy mask locally
      FIX: pcolor writing to read-only input mask

daniilS (3):
      Use selected format in Tk savefig when filename doesn't contain one
      Make tk backend use native crosshair cursor
      Fix Legend.set_draggable() with update="bbox"

dependabot[bot] (11):
      Bump cygwin/cygwin-install-action from 2 to 3
      Bump pypa/cibuildwheel from 2.11.4 to 2.12.0
      Bump mamba-org/provision-with-micromamba from 14 to 15
      Bump pypa/cibuildwheel from 2.12.0 to 2.12.1
      Bump actions/stale from 7 to 8
      Bump cygwin/cygwin-install-action from 3 to 4
      Bump pypa/cibuildwheel from 2.12.1 to 2.12.3
      Bump pypa/cibuildwheel from 2.12.3 to 2.13.0
      Bump pypa/cibuildwheel from 2.13.0 to 2.13.1
      Bump pypa/cibuildwheel from 2.13.1 to 2.14.0
      Bump pypa/cibuildwheel from 2.14.0 to 2.14.1

devRD (10):
      Add release event for lasso_demo
      Fix unmatched offsetText label color
      Add conditional before set labelcolor call
      Update test to check offset text color
      Fix unintended space after comma as a decimal separator
      Handle locale unsupported error
      Add error handling for locale
      Update pytest to skip when locale unsupported
      Update locale setting for coverage
      Add bfit bolditalic tex command

hannah (32):
      added hatch kwarg arg + tests + what's new (w/ alt)
      added way to order things last
      seperate out folder orderings
      expanded basic pie example
      adds section on annotating an artist using axes.annotate
      added assigning and duplicating section heading to contribute guide
      grammar/wording tweak follow up to #25652
      Condensed checklist by linking out to the related section of the
      Users guide->User guide (#25807)
      more explict about what remote means in context
      emphasize local
      dropdown + moving link
      changed incubator link to community channel
      good first issue bot rewording based on discussion in #25942
      removed wrapping
      subsubsection titles for static and interactive tables
      contributing->contribute + moving things around
      added note about python 3 to venv
      alphabetize greek and hebrew, closes #26140
      reorganize contribute page into blocks and cards
      check for pr from main: precommit check + action in pr_clean
      moved minimum dependencies to maintainance guide
      old landing page sections + install/contribute/project/release from users
      more consistent data structure oriented headers and explanations for
      blended artist + fixing header + redirects/deletes
      filter warnings triggered by #26472 when building docs
      add
B2B5
ed Noto Sans TC for windows docs builds
      Backport PR #26490: Import PIL.Image explicitly over PIL
      Backport PR #26201: DOC: Add documentation on codespaces usage
      Backport PR #26493: Disable ``add_html_cache_busting`` on Sphinx 7.1+
      Backport PR #26565: [doc]: added section Verify installation
      Backport PR #26680: Fix flaky CI tests

haval0 (3):
      feat: add 2 tests based on good/bad plot from upstream issue
      fix: make "bad plot" test fail because fix isn't implemented yet
      fix: make tests slightly error tolerant (#4)

j1642 (1):
      ENH: Add new color spec, tuple (matplotlib_color, alpha)

jsdodge (1):
      Backport PR #26606: [Doc] Revise histogram features example (Closes #26604)

kolibril13 (5):
      cap heading
      Upper lower
      apply suggestions
      sorting
      one down

krooijers (2):
      Fixes #12926 - inconsistency upon passing C in hexbin
      Added test for hexbin mincnt consistency upon C param

lganic (1):
      Fixed bug: mathtext rendered width not being calculated correctly (#25692)

luke (3):
      add ref
      fix error
      add-for-every-under-examples/

marbled-toast (2):
      update the doc string for fancyarrowpatch to link to annotate (#26317)
      remove quote box from font_manager

mariamalykh (1):
      replaced step with stairs in basic plot types

matt statham (1):
      inset locator fix with tests added

melissawm (9):
      Add links and expand mathmpl docstring
      Addressing reviewers' comments
      Change section heading
      Typos and phrasing
      Updated links to documents
      MAINT: Add api-token for CircleCI redirector action
      Remove codecov and coverage from CircleCI setup
      Add codespaces configuration
      Fix codespaces setup.sh script

photoniker (1):
      Update patches.py by .. versionadded:: 3.8

pre-commit-ci[bot] (1):
      [pre-commit.ci] pre-commit autoupdate

richardsheridan (4):
      fix FigureCanvasTkAgg memory leak via weakrefs
      Disconnect SubplotTool destroyer callback on tool_fig close
      FIX: avoid silently invalid tk.Canvas.delete
      FIX: resize tk.PhotoImage instead of recreate

root (1):
      Raise on scatter plural and singular aliases

saranti (9):
      Tick label font family via tick_params
      fix typo
      Fix figure annotation example
      test annotate(textcoords=offset fontsize)
      add ishikawa diagram to examples
      remove redundant line
      input data as dict, remove color var
      add setters and getters for AxLine
      minor fixes

stevezhang (1):
      Support customizing antialiasing for text and annotation

stevezhang1999 (4):
      streamlined image comparison tests for text antialiasing
      fix doc formatting, parameter name and spells
      update text.pyi
      Text antialiasing for mathtext (#26376)

vavanade (1):
      Fix typo in api_interfaces.rst

vivekvedant (4):
      fix for pcolormesh doesn't allow shading = 'flat' in the option
      fix for flake8
      update error message for shading=flat
      changes for fixing the failing test

vizzy_viz (1):
      #25900 update figure.py

weijili (1):
      Use axes=self as an extra args in parasite_axes

whyvra (1):
      Updated WebAgg JS to check and send request over wss if using HTTPS

xtanion (4):
      removing typecasting method to float
      adding tests and changing typecasts
      flake8 fix
      removing redundant `to_list` conversion

yuzie007 (1):
      Modify `hexbin` to respect `:rc:patch.linewidth`

渡邉 美希 (1):
      DOC:added exported colors to colors.api
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug] set_3d_properties type error in Matplotlib 3.5.1
6 participants
0