::: redirect-from
/users/prev_whats_new/github_stats_3.9.1
:::

# GitHub statistics for 3.9.1 (Jul 04, 2024) {#github-stats-3-9-1}

GitHub statistics for 2024/05/15 (tag: v3.9.0) - 2024/07/04

These lists are automatically generated, and may be incomplete or
contain duplicates.

We closed 30 issues and merged 111 pull requests. The full list can be
seen [on
GitHub](https://github.com/matplotlib/matplotlib/milestone/91?closed=1)

The following 29 authors contributed 184 commits.

-   Antony Lee
-   Brigitta Sipőcz
-   Christian Mattsson
-   dale
-   dependabot\[bot\]
-   Elliott Sales de Andrade
-   Eytan Adler
-   Greg Lucas
-   haaris
-   hannah
-   Ian Thomas
-   Illviljan
-   K900
-   Kyle Sunden
-   Lumberbot (aka Jack)
-   malhar2460
-   Matthew Feickert
-   Melissa Weber Mendonça
-   MischaMegens2
-   Oscar Gustafsson
-   Ruth Comer
-   Scott Shambaugh
-   simond07
-   SjoerdB93
-   Takumasa N
-   Takumasa N.
-   Takumasa Nakamura
-   Thomas A Caswell
-   Tim Hoffmann

GitHub issues and pull requests:

Pull Requests (111):

-   `28507`{.interpreted-text role="ghpull"}: Backport PR #28430 on
    branch v3.9.x (Fix pickling of AxesWidgets.)
-   `28506`{.interpreted-text role="ghpull"}: Backport PR #28451 on
    branch v3.9.x (Fix GTK cairo backends)
-   `28430`{.interpreted-text role="ghpull"}: Fix pickling of
    AxesWidgets.
-   `25861`{.interpreted-text role="ghpull"}: Fix Hidpi scaling for
    GTK4Cairo
-   `28451`{.interpreted-text role="ghpull"}: Fix GTK cairo backends
-   `28499`{.interpreted-text role="ghpull"}: Backport PR #28498 on
    branch v3.9.x (Don\'t fail if we can\'t query system fonts on macOS)
-   `28498`{.interpreted-text role="ghpull"}: Don\'t fail if we can\'t
    query system fonts on macOS
-   `28491`{.interpreted-text role="ghpull"}: Backport PR #28487 on
    branch v3.9.x (Fix autoscaling with axhspan)
-   `28490`{.interpreted-text role="ghpull"}: Backport PR #28486 on
    branch v3.9.x (Fix
    CompositeGenericTransform.contains_branch_seperately)
-   `28487`{.interpreted-text role="ghpull"}: Fix autoscaling with
    axhspan
-   `28486`{.interpreted-text role="ghpull"}: Fix
    CompositeGenericTransform.contains_branch_seperately
-   `28483`{.interpreted-text role="ghpull"}: Backport PR #28393 on
    branch v3.9.x (Make sticky edges only apply if the sticky edge is
    the most extreme limit point)
-   `28482`{.interpreted-text role="ghpull"}: Backport PR #28473 on
    branch v3.9.x (Do not lowercase module:// backends)
-   `28393`{.interpreted-text role="ghpull"}: Make sticky edges only
    apply if the sticky edge is the most extreme limit point
-   `28473`{.interpreted-text role="ghpull"}: Do not lowercase module://
    backends
-   `28480`{.interpreted-text role="ghpull"}: Backport PR #28474 on
    branch v3.9.x (Fix typing and docs for containers)
-   `28479`{.interpreted-text role="ghpull"}: Backport PR #28397 (FIX:
    stale root Figure when adding/updating subfigures)
-   `28474`{.interpreted-text role="ghpull"}: Fix typing and docs for
    containers
-   `28472`{.interpreted-text role="ghpull"}: Backport PR #28289 on
    branch v3.9.x (Promote mpltype Sphinx role to a public extension)
-   `28471`{.interpreted-text role="ghpull"}: Backport PR #28342 on
    branch v3.9.x (DOC: Document the parameter *position* of
    apply_aspect() as internal)
-   `28470`{.interpreted-text role="ghpull"}: Backport PR #28398 on
    branch v3.9.x (Add GIL Release to flush_events in macosx backend)
-   `28469`{.interpreted-text role="ghpull"}: Backport PR #28355 on
    branch v3.9.x (MNT: Re-add matplotlib.cm.get_cmap)
-   `28397`{.interpreted-text role="ghpull"}: FIX: stale root Figure
    when adding/updating subfigures
-   `28289`{.interpreted-text role="ghpull"}: Promote mpltype Sphinx
    role to a public extension
-   `28342`{.interpreted-text role="ghpull"}: DOC: Document the
    parameter *position* of apply_aspect() as internal
-   `28398`{.interpreted-text role="ghpull"}: Add GIL Release to
    flush_events in macosx backend
-   `28355`{.interpreted-text role="ghpull"}: MNT: Re-add
    matplotlib.cm.get_cmap
-   `28468`{.interpreted-text role="ghpull"}: Backport PR #28465 on
    branch v3.9.x (Fix pickling of SubFigures)
-   `28465`{.interpreted-text role="ghpull"}: Fix pickling of SubFigures
-   `28462`{.interpreted-text role="ghpull"}: Backport PR #28440 on
    branch v3.9.x (DOC: Add note about simplification of to_polygons)
-   `28460`{.interpreted-text role="ghpull"}: Backport PR #28459 on
    branch v3.9.x (DOC: Document kwargs scope for tick setter functions)
-   `28461`{.interpreted-text role="ghpull"}: Backport PR #28458 on
    branch v3.9.x (Correct numpy dtype comparisons in image_resample)
-   `28440`{.interpreted-text role="ghpull"}: DOC: Add note about
    simplification of to_polygons
-   `28458`{.interpreted-text role="ghpull"}: Correct numpy dtype
    comparisons in image_resample
-   `28459`{.interpreted-text role="ghpull"}: DOC: Document kwargs scope
    for tick setter functions
-   `28450`{.interpreted-text role="ghpull"}: Backport of 28371 and
    28411
-   `28446`{.interpreted-text role="ghpull"}: Backport PR #28403 on
    branch v3.9.x (FIX: Autoscale support in add_collection3d for
    Line3DCollection and Poly3DCollection
-   `28445`{.interpreted-text role="ghpull"}: Backport PR #28403 on
    branch v3.9.x (FIX: Autoscale support in add_collection3d for
    Line3DCollection and Poly3DCollection)
-   `28438`{.interpreted-text role="ghpull"}: Backport PR #28436 on
    branch v3.9.x (Fix `is_color_like` for 2-tuple of strings and fix
    `to_rgba` for `(nth_color, alpha)`)
-   `28403`{.interpreted-text role="ghpull"}: FIX: Autoscale support in
    add_collection3d for Line3DCollection and Poly3DCollection
-   `28443`{.interpreted-text role="ghpull"}: Backport PR #28441 on
    branch v3.9.x (MNT: Update basic units example to work with numpy
    2.0)
-   `28441`{.interpreted-text role="ghpull"}: MNT: Update basic units
    example to work with numpy 2.0
-   `28436`{.interpreted-text role="ghpull"}: Fix `is_color_like` for
    2-tuple of strings and fix `to_rgba` for `(nth_color, alpha)`
-   `28426`{.interpreted-text role="ghpull"}: Backport PR #28425 on
    branch v3.9.x (Fix Circle yaml line length)
-   `28427`{.interpreted-text role="ghpull"}: Fix circleci yaml
-   `28425`{.interpreted-text role="ghpull"}: Fix Circle yaml line
    length
-   `28422`{.interpreted-text role="ghpull"}: Backport PR #28401 on
    branch v3.9.x (FIX: Fix text wrapping)
-   `28424`{.interpreted-text role="ghpull"}: Backport PR #28423 on
    branch v3.9.x (Update return type for Axes.axhspan and Axes.axvspan)
-   `28423`{.interpreted-text role="ghpull"}: Update return type for
    Axes.axhspan and Axes.axvspan
-   `28401`{.interpreted-text role="ghpull"}: FIX: Fix text wrapping
-   `28419`{.interpreted-text role="ghpull"}: Backport PR #28414 on
    branch v3.9.x (Clean up obsolete widget code)
-   `28411`{.interpreted-text role="ghpull"}: Bump the actions group
    with 3 updates
-   `28414`{.interpreted-text role="ghpull"}: Clean up obsolete widget
    code
-   `28415`{.interpreted-text role="ghpull"}: Backport PR #28413 on
    branch v3.9.x (CI: update action that got moved org)
-   `28413`{.interpreted-text role="ghpull"}: CI: update action that got
    moved org
-   `28392`{.interpreted-text role="ghpull"}: Backport PR #28388 on
    branch v3.9.x (Allow duplicate (name, value) entry points for
    backends)
-   `28362`{.interpreted-text role="ghpull"}: Backport PR #28337 on
    branch v3.9.x (Bump the actions group across 1 directory with 3
    updates)
-   `28388`{.interpreted-text role="ghpull"}: Allow duplicate (name,
    value) entry points for backends
-   `28389`{.interpreted-text role="ghpull"}: Backport PR #28380 on
    branch v3.9.x (Remove outdated docstring section in
    RendererBase.draw_text.)
-   `28380`{.interpreted-text role="ghpull"}: Remove outdated docstring
    section in RendererBase.draw_text.
-   `28385`{.interpreted-text role="ghpull"}: Backport PR #28377 on
    branch v3.9.x (DOC: Clarify scope of wrap.)
-   `28377`{.interpreted-text role="ghpull"}: DOC: Clarify scope of
    wrap.
-   `28368`{.interpreted-text role="ghpull"}: Backport PR #28359 on
    branch v3.9.x (Document that axes unsharing is impossible.)
-   `28359`{.interpreted-text role="ghpull"}: Document that axes
    unsharing is impossible.
-   `28337`{.interpreted-text role="ghpull"}: Bump the actions group
    across 1 directory with 3 updates
-   `28351`{.interpreted-text role="ghpull"}: Backport PR #28307 on
    branch v3.9.x (DOC: New color line by value example)
-   `28307`{.interpreted-text role="ghpull"}: DOC: New color line by
    value example
-   `28339`{.interpreted-text role="ghpull"}: Backport PR #28336 on
    branch v3.9.x (DOC: Add version warning banner for docs versions
    different from stable)
-   `28336`{.interpreted-text role="ghpull"}: DOC: Add version warning
    banner for docs versions different from stable
-   `28334`{.interpreted-text role="ghpull"}: Backport PR #28332 on
    branch v3.9.x (Call IPython.enable_gui when install repl
    displayhook)
-   `28332`{.interpreted-text role="ghpull"}: Call IPython.enable_gui
    when install repl displayhook
-   `28331`{.interpreted-text role="ghpull"}: Backport PR #28329 on
    branch v3.9.x (DOC: Add example for 3D intersecting planes)
-   `28329`{.interpreted-text role="ghpull"}: DOC: Add example for 3D
    intersecting planes
-   `28327`{.interpreted-text role="ghpull"}: Backport PR #28292 on
    branch v3.9.x (Resolve MaxNLocator IndexError when no large steps)
-   `28292`{.interpreted-text role="ghpull"}: Resolve MaxNLocator
    IndexError when no large steps
-   `28326`{.interpreted-text role="ghpull"}: Backport PR #28041 on
    branch v3.9.x (\[BUG\]: Shift box_aspect according to vertical_axis)
-   `28041`{.interpreted-text role="ghpull"}: \[BUG\]: Shift box_aspect
    according to vertical_axis
-   `28320`{.interpreted-text role="ghpull"}: Backport PR #27001 on
    branch v3.9.x (\[TYP\] Add overload of `pyplot.subplots`)
-   `27001`{.interpreted-text role="ghpull"}: \[TYP\] Add overload of
    `pyplot.subplots`
-   `28318`{.interpreted-text role="ghpull"}: Backport PR #28273 on
    branch v3.9.x (CI: Add GitHub artifact attestations to package
    distribution)
-   `28273`{.interpreted-text role="ghpull"}: CI: Add GitHub artifact
    attestations to package distribution
-   `28305`{.interpreted-text role="ghpull"}: Backport PR #28303 on
    branch v3.9.x (Removed drawedges repeated definition from function
    doc string)
-   `28303`{.interpreted-text role="ghpull"}: Removed drawedges repeated
    definition from function doc string
-   `28299`{.interpreted-text role="ghpull"}: Backport PR #28297 on
    branch v3.9.x (Solved #28296 Added missing comma)
-   `28297`{.interpreted-text role="ghpull"}: Solved #28296 Added
    missing comma
-   `28294`{.interpreted-text role="ghpull"}: Backport PR #28261 on
    branch v3.9.x (Correct roll angle units, issue #28256)
-   `28261`{.interpreted-text role="ghpull"}: Correct roll angle units,
    issue #28256
-   `28283`{.interpreted-text role="ghpull"}: Backport PR #28280 on
    branch v3.9.x (DOC: Add an example for 2D images in 3D plots)
-   `28280`{.interpreted-text role="ghpull"}: DOC: Add an example for 2D
    images in 3D plots
-   `28278`{.interpreted-text role="ghpull"}: Backport PR #28272 on
    branch v3.9.x (BLD: Move macos builders from 11 to 12)
-   `28277`{.interpreted-text role="ghpull"}: Backport PR #28274 on
    branch v3.9.x (ci: Remove deprecated codeql option)
-   `28272`{.interpreted-text role="ghpull"}: BLD: Move macos builders
    from 11 to 12
-   `28274`{.interpreted-text role="ghpull"}: ci: Remove deprecated
    codeql option
-   `28270`{.interpreted-text role="ghpull"}: Backport PR #28269 on
    branch v3.9.x (Handle GetForegroundWindow() returning NULL.)
-   `28269`{.interpreted-text role="ghpull"}: Handle
    GetForegroundWindow() returning NULL.
-   `28266`{.interpreted-text role="ghpull"}: Backport PR #28257 on
    branch v3.9.x (Clean up some Meson-related leftovers)
-   `28257`{.interpreted-text role="ghpull"}: Clean up some
    Meson-related leftovers
-   `28255`{.interpreted-text role="ghpull"}: Backport PR #28254 on
    branch v3.9.x (\[DOC\] plot type heading consistency)
-   `28254`{.interpreted-text role="ghpull"}: \[DOC\] plot type heading
    consistency
-   `28253`{.interpreted-text role="ghpull"}: Backport PR #28252 on
    branch v3.9.x (DOC: Flip the imshow plot types example to match the
    other examples)
-   `28252`{.interpreted-text role="ghpull"}: DOC: Flip the imshow plot
    types example to match the other examples
-   `28247`{.interpreted-text role="ghpull"}: Backport PR #28230 on
    branch v3.9.x (Add extra imports to improve typing)
-   `28230`{.interpreted-text role="ghpull"}: Add extra imports to
    improve typing
-   `28246`{.interpreted-text role="ghpull"}: Backport PR #28243 on
    branch v3.9.x (DOC: Add more 3D plot types)
-   `28243`{.interpreted-text role="ghpull"}: DOC: Add more 3D plot
    types
-   `28241`{.interpreted-text role="ghpull"}: Backport PR #28219 on
    branch v3.9.x (Bump the actions group with 2 updates)
-   `28219`{.interpreted-text role="ghpull"}: Bump the actions group
    with 2 updates
-   `28237`{.interpreted-text role="ghpull"}: Backport PR #28233 on
    branch v3.9.x (CI: Fix font install on macOS/Homebrew)
-   `28236`{.interpreted-text role="ghpull"}: Backport PR #28231 on
    branch v3.9.x (DOC: we do not need the blit call in on_draw)
-   `28233`{.interpreted-text role="ghpull"}: CI: Fix font install on
    macOS/Homebrew
-   `28231`{.interpreted-text role="ghpull"}: DOC: we do not need the
    blit call in on_draw

Issues (30):

-   `22482`{.interpreted-text role="ghissue"}: \[ENH\]: pickle (or save)
    matplotlib figure with insteractive slider
-   `25847`{.interpreted-text role="ghissue"}: \[Bug\]: Graph gets cut
    off with scaled resolution using gtk4cairo backend
-   `28341`{.interpreted-text role="ghissue"}: \[Bug\]: Incorrect X-axis
    scaling with date values
-   `28383`{.interpreted-text role="ghissue"}: \[Bug\]: axvspan no
    longer participating in limit calculations
-   `28223`{.interpreted-text role="ghissue"}: \[Bug\]: Inconsistent
    Visualization of Intervals in ax.barh for Different Duration Widths
-   `28432`{.interpreted-text role="ghissue"}: \[Bug\]: Backend name
    specified as module gets lowercased since 3.9
-   `28467`{.interpreted-text role="ghissue"}: \[Bug\]: Incorrect type
    stub for `ErrorbarContainer`\'s `lines` attribute.
-   `28384`{.interpreted-text role="ghissue"}: \[Bug\]: subfigure
    artists not drawn interactively
-   `28234`{.interpreted-text role="ghissue"}: \[Bug\]: mpltype custom
    role breaks sphinx build for third-party projects that have
    intersphinx links to matplotlib
-   `28464`{.interpreted-text role="ghissue"}: \[Bug\]: figure with
    subfigures cannot be pickled
-   `28448`{.interpreted-text role="ghissue"}: \[Bug\]: Making an RGB
    image from pickled data throws error
-   `23317`{.interpreted-text role="ghissue"}: \[Bug\]:
    `add_collection3d` does not update view limits
-   `17130`{.interpreted-text role="ghissue"}: autoscale_view is not
    working with Line3DCollection
-   `28434`{.interpreted-text role="ghissue"}: \[Bug\]: Setting exactly
    2 colors with tuple in `plot` method gives confusing error
-   `28417`{.interpreted-text role="ghissue"}: \[Doc\]: axhspan and
    axvspan now return Rectangles, not Polygons.
-   `28378`{.interpreted-text role="ghissue"}: \[ENH\]: Switch text
    wrapping boundary to subfigure
-   `28404`{.interpreted-text role="ghissue"}: \[Doc\]:
    matplotlib.widgets.CheckButtons no longer has .rectangles attribute,
    needs removed.
-   `28367`{.interpreted-text role="ghissue"}: \[Bug\]: Backend entry
    points can be erroneously duplicated
-   `28358`{.interpreted-text role="ghissue"}: \[Bug\]: Labels don\'t
    get wrapped when set_yticks() is used in subplots
-   `28374`{.interpreted-text role="ghissue"}: \[Bug\]: rcParam
    `tk.window_focus: True` is causes crash on Linux in version 3.9.0.
-   `28324`{.interpreted-text role="ghissue"}: \[Bug\]:
    show(block=False) freezes
-   `28239`{.interpreted-text role="ghissue"}: \[Doc\]: Gallery example
    showing 3D slice planes
-   `27603`{.interpreted-text role="ghissue"}: \[Bug\]: \_raw_ticker()
    istep
-   `24328`{.interpreted-text role="ghissue"}: \[Bug\]: class
    Axes3D.set_box_aspect() sets wrong aspect ratios when
    Axes3D.view_init( vertical_axis=\'y\') is enabled.
-   `28221`{.interpreted-text role="ghissue"}: \[Doc\]: drawedges
    attribute described twice in matplotlib.colorbar documentation
-   `28296`{.interpreted-text role="ghissue"}: \[Doc\]: Missing comma
-   `28256`{.interpreted-text role="ghissue"}: \[Bug\]: axes3d.py\'s
    \_on_move() converts the roll angle to radians, but then passes it
    to view_init() as if it were still in degrees
-   `28267`{.interpreted-text role="ghissue"}: \[Bug\]: for Python
    3.11.9 gor ValueError: PyCapsule_New called with null pointer
-   `28022`{.interpreted-text role="ghissue"}: \[Bug\]: Type of Axes is
    unknown pyright
-   `28002`{.interpreted-text role="ghissue"}: Segfault from path editor
    example with QtAgg