Weekly GitHub Report for Matplotlib: October 06, 2025 - October 13, 2025 (12:04:27)
Weekly GitHub Report for Matplotlib
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
Table of Contents
I. News
1.1 Recent Version Releases:
The current version of this repository is v3.10.1
1.2 Version Information:
Released on February 27, 2025, this first bugfix update of the 3.10.x series addresses multiple issues including improved handling of array alpha in interpolation, removal of md5 to support FIPS compliance, fixes for pyplot.matshow and Axes positioning, adjustments to polar plot titles, and added version gating for GTK4 calls, alongside enhanced documentation and warnings for scatter plot color usage.
II. Issues
2.1 Top 5 Active Issues:
We consider active issues to be issues that that have been commented on most frequently within the last week. Bot comments are omitted.
-
[Doc]:
xlim_changedandylim_changednot listed with other events: This issue addresses the omission of thexlim_changedandylim_changedevents from the official list of connectable events in the Matplotlib documentation, despite their mention elsewhere. The user suggests adding these two events to the list to improve clarity and completeness in the event handling documentation.- The discussion highlights the complexity of the issue, distinguishing between Axes events and GUI events, each with different callback registries and signatures. Contributors express interest in improving the documentation but note uncertainty about the overall callback architecture and whether expanding documentation in this area aligns with long-term design goals.
- Number of comments this week: 5
-
[Bug]: InsetIndicator rectangle and connectors forced to share clip_on property: This issue reports a bug in Matplotlib where the
InsetIndicator's rectangle and connector components are forced to share the sameclip_onproperty if they have identical style attributes, preventing independent clipping behavior. The user wants the connectors to extend beyond the clipped rectangle without needing to alter other style properties like linestyle, suggesting thatclip_onshould be added to the list of shared properties to allow separate control.- The discussion agrees that adding
clip_onto the shared properties list is a likely fix, with a recommendation to also implement a corresponding setter method. The reporter requests clarification on why the rectangle and connectors are not always drawn as separate paths, and a related previous issue is referenced for additional context. - Number of comments this week: 3
- The discussion agrees that adding
-
[ENH]: Improve how we manage the "current version" metadata: This issue addresses the challenge of managing the "current version" metadata for documentation releases, where stable docs temporarily appear as unstable until bug-fix branches are merged. The proposed enhancement suggests moving the version switcher JSON file into the docs repository and serving it from a dedicated endpoint to streamline updates and reduce the multi-step process currently required.
- The comments discuss whether updating the version switcher via a pull request on the main branch during the release process could simplify the workflow, with a clarification that this method is already the documented procedure.
- Number of comments this week: 2
Since there were fewer than 5 open issues, all of the open issues have been listed above.
2.2 Top 5 Stale Issues:
We consider stale issues to be issues that has had no activity within the last 30 days. The team should work together to get these issues resolved and closed as soon as possible.
- [Bug]: Misalignment of Labels and Incorrect Density Values in
ax.hist()for Categorical Variables: This issue addresses a bug in theax.hist()function of Matplotlib when used with categorical variables and thedensity=Trueparameter, where the density values are incorrectly computed due to the internal conversion of categories to integers and the resulting bin widths not being equal to 1. Additionally, the issue highlights a misalignment of x-axis labels because the function does not clearly document or handle the mapping from categories to integers, making it difficult to position labels accurately at the center of the histogram bars. - [MNT]: Ease building just one Sphinx Gallery example file: This issue addresses the difficulty and inefficiency of building a single Sphinx Gallery example file during documentation generation, which currently requires lengthy build times or manual configuration edits that still produce many warnings. The author proposes improving the documentation with practical tips and adjusting the Sphinx Gallery configuration—such as setting
include_patterns,suppress_warnings, andgallery_dirsinconf.py—to streamline the process, and suggests adding a dedicated build target in the Makefile to facilitate easier single-file builds. - [ENH]: Parse "\limits" in mathtext: This issue addresses a problem in the matplotlib mathtext module where the LaTeX command "\limits" is not recognized and causes a parsing error when rendering mathematical expressions involving integrals. The user reports that while "\limits" is intended to position subscripts and superscripts above and below operators like "\int," the current parser raises a ValueError, preventing correct rendering of such expressions.
- [ENH]: Fix precision displayed by LogFormatter.format_data_short: This issue addresses the lack of precision adjustment in the display of mouse cursor values for logarithmic scale formatters within the toolbar, which currently only exists for linear scale formatters. The user suggests implementing a similar feature for log formatters to match the cursor pointing precision, enhancing the accuracy of displayed values.
- [Bug]:
ax.transDatadoes not honor data limits: This issue reports that theax.transDatatransformation in Matplotlib does not automatically respect the current data limits (xlimandylim), causing it to use outdated limits unless these are manually updated. The user highlights a discrepancy between the documentation, which implies automatic updating of data limits when new data is added, and the actual behavior, suggesting either a documentation update or a change intransDatato always reflect the latest data limits.
2.3 Open Issues
This section lists, groups, and then summarizes issues that were created within the last week in the repository.
Issues Opened This Week: 3
Summarized Issues:
- InsetIndicator clipping behavior: The
InsetIndicator's rectangle and connector components are forced to share the sameclip_onproperty when they have identical style attributes, which prevents independent clipping behavior. This limitation requires altering other style properties like linestyle to achieve different clipping, restricting flexibility in visual customization. - issues/30642
- Event documentation completeness: The
xlim_changedandylim_changedevents are currently omitted from the official list of connectable events in the Matplotlib documentation, despite their importance. Their classification as Axes events rather than GUI events complicates documentation, highlighting the need for clearer and more comprehensive callback event descriptions. - issues/30647
- Documentation version management: There is a proposal to improve the management of the "current version" metadata in the documentation by moving the version switcher JSON file into the docs repository. Serving this file from a dedicated endpoint aims to streamline updates and prevent temporary instability of stable documentation during releases.
- issues/30649
2.4 Closed Issues
This section lists, groups, and then summarizes issues that were closed within the last week in the repository. This section also links the associated pull requests if applicable.
Issues Closed This Week: 2
Summarized Issues:
- User Interface Enhancements: This topic covers improvements to the Matplotlib user interface, specifically adding the ability to set an initial directory for the “Save” dialog in the toolbar. This feature aims to enhance workflow efficiency in automated measurement and data acquisition environments by allowing users to programmatically specify a default folder.
- issues/30638
- Documentation Accuracy: This topic involves correcting the status of the stable documentation for Matplotlib, which is currently incorrectly reported as unstable. The issue is expected to be resolved after merging a related pull request, ensuring users have accurate information about the documentation stability.
- issues/30644
2.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed issues that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed issues from the past week.
III. Pull Requests
3.1 Open Pull Requests
This section provides a summary of pull requests that were opened in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Opened This Week: 3
Key Open Pull Requests
1. Docs: fix grid formatting and add comments to users/index.rst: This pull request aims to improve the Matplotlib documentation by fixing grid formatting and adding comments in the users/index.rst file, updating installation instructions with Windows-specific virtual environment activation commands and clarified TkAgg backend dependencies, enhancing the Users Guide Index structure with clear section comments, and ensuring all links are valid, with all changes successfully building the documentation.
- URL: pull/30641
- Merged: No
2. Allow different clipping on InsetIndicator rectangle and connectors.: This pull request introduces the clip_on property to the _shared_properties tuple in matplotlib.inset, enabling the InsetIndicator to independently apply different clipping settings to its rectangle and connectors components, thereby allowing them to be drawn separately when their clip_on values differ.
- URL: pull/30648
- Merged: No
3. Fix: respect animated=True for imshow; add regression test (closes #18985): This pull request fixes the behavior of AxesImage objects created with imshow(..., animated=True) to ensure they are treated consistently with other animated artists by removing a special-case exemption in the drawing method, and adds a regression test to verify visual correctness, thereby addressing issue #18985.
- URL: pull/30643
- Merged: No
- Associated Commits: 993e1
3.2 Closed Pull Requests
This section provides a summary of pull requests that were closed in the repository over the past week. The top three pull requests with the highest number of commits are highlighted as 'key' pull requests. Other pull requests are grouped based on similar characteristics for easier analysis. Up to 25 pull requests are displayed in this section, while any remaining pull requests beyond this limit are omitted for brevity.
Pull Requests Closed This Week: 3
Key Closed Pull Requests
1. merge up v3.10.7: This pull request merges the v3.10.7 release branch into the main line, backporting multiple bug fixes, documentation updates, testing improvements, maintenance changes, and dependency updates—including fixing SVG rendering errors, correcting typos in documentation, updating CI configurations, and raising the minimum pyparsing version—to deliver the latest bugfix release in the 3.10.x series of matplotlib.
- URL: pull/30646
- Merged: Yes
- Associated Commits: 0cfa6, b23f1, 692a9, e8eac, 851d6, b72e9, 155b1, 291d6, 56b2d, 75a1e, 165cc, 4a9c1, 09887, 8fadc, 9a5e3, f5502, a604a, 080ad, 4aeb7, 25693, c8125, 1f3ab, 0e77e, 7bfa3
2. DOC: Add note about linear colorbar scale option for TwoSlopeNorm: This pull request adds detailed documentation to the Colormap Normalization tutorial explaining how users can restore the pre-3.5 linear colorbar spacing for the TwoSlopeNorm normalization by using the cb.ax.set_yscale('linear') workaround, including a visual example comparing the default scaled colorbar with the linear scale option, thereby addressing user concerns about the non-linear appearance introduced in matplotlib 3.5.
- URL: pull/30639
- Merged: Yes
- Associated Commits: 583fb, 46645, 9e7fc, b6c4e, 28153, e4770, cc31d, 76b22, 25b18, ffdda, acca5, fe681, 5f579, 62902, c8a09, 0b057
3. Don't force axes limits in hist2d.: This pull request removes the forced setting of axes limits in the hist2d function, relying instead on standard autoscaling to provide more desirable and flexible behavior.
- URL: pull/30634
- Merged: Yes
- Associated Commits: 30658
3.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open and closed pull requests that occurred within the past week. It aims to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open or closed pull requests from the past week.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, created at least 1 pull request, or made more than 2 comments in the last month.
If there are more than 10 active contributors, the list is truncated to the top 10 based on contribution metrics for better clarity.
| Contributor | Commits | Pull Requests | Issues | Comments |
|---|---|---|---|---|
| timhoffm | 20 | 4 | 3 | 58 |
| QuLogic | 31 | 8 | 0 | 21 |
| melwyncarlo | 25 | 5 | 2 | 16 |
| tacaswell | 10 | 1 | 1 | 14 |
| LangQi99 | 13 | 1 | 1 | 9 |
| G26karthik | 16 | 1 | 0 | 3 |
| anntzer | 7 | 1 | 2 | 7 |
| rcomer | 4 | 3 | 2 | 4 |
| jklymak | 0 | 0 | 0 | 13 |
| evhalp | 8 | 1 | 0 | 0 |