Weekly Project News

Archives
Subscribe
December 1, 2025

Weekly GitHub Report for Matplotlib: November 24, 2025 - December 01, 2025 (12:04:15)

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
    • 1.2. Other Noteworthy Updates
  • II. Issues
    • 2.1. Top 5 Active Issues
    • 2.2. Top 5 Stale Issues
    • 2.3. Open Issues
    • 2.4. Closed Issues
    • 2.5. Issue Discussion Insights
  • III. Pull Requests
    • 3.1. Open Pull Requests
    • 3.2. Closed Pull Requests
    • 3.3. Pull Request Discussion Insights
  • IV. Contributors
    • 4.1. Contributors

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, GTK4 version gating, and warnings for conflicting scatter plot color parameters, alongside various documentation enhancements.

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.

  1. Plot not displaying correctly when using Matplotlib: This issue describes a problem where a user is unable to display a Matplotlib plot correctly; the plot window either appears blank, partially rendered, or does not show the expected sine wave with axes and legend. The user has provided a minimal reproducible example and has tried switching backends and verifying package versions, but the issue persists without any error messages or clear indication of the cause.

    • A commenter requested the original poster to clean up the issue description for better readability and asked for clarification on whether the problematic behavior is consistently reproducible, highlighting confusion about the reported symptoms.
    • Number of comments this week: 1

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.

  1. [Bug]: Misalignment of Labels and Incorrect Density Values in ax.hist() for Categorical Variables: This issue addresses a bug in the ax.hist() function of Matplotlib when used with categorical variables and the density=True parameter, 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 one. Additionally, the issue highlights a misalignment problem where the x-axis labels are not centered on the bars, compounded by a lack of clear documentation on how categories are mapped to integers, making it difficult to correctly position labels and interpret the histogram.
  2. [MNT]: Ease building just one Sphinx Gallery example file: This issue addresses the difficulty of efficiently building a single Sphinx Gallery example file, which currently requires lengthy build times or cumbersome workarounds that generate many warnings. The author proposes improving the documentation with practical tips and adjusting the Sphinx Gallery configuration—such as modifying include_patterns, suppress_warnings, and gallery_dirs in conf.py—to streamline the process, and suggests adding a dedicated build target in the Makefile to simplify rebuilding individual examples for developers, especially beginners.
  3. [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, specifically integrals with limits placed above and below the integral sign. The user expects the "\limits" command to properly format the integral with its limits displayed above and below, but instead encounters a ValueError indicating an unknown symbol, preventing correct rendering of the expression.
  4. [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 consistency and accuracy of displayed data.
  5. [Bug]: ax.transData does not honor data limits: This issue reports a bug in Matplotlib where the transformation ax.transData does not respect the current data limits set by xlim and ylim, causing it to use outdated data limits when transforming coordinates. The user highlights that although the documentation implies data limits update automatically with new data, in practice, manual calls to methods like set_xlim or set_ylim are required to refresh these limits, leading to confusion and inconsistent behavior.

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: 2

Summarized Issues:

  • Plot rendering issues: Users report that plots generated with Matplotlib do not display correctly, resulting in blank or partially rendered windows without any error messages. This problem persists even when using minimal reproducible examples and trying different backends, indicating a deeper rendering or backend compatibility issue.
  • issues/30792
  • Documentation gaps on deprecated colormaps: The Matplotlib documentation no longer includes information about deprecated colormaps like gist_gray, gist_yarg, and binary, which were previously documented. This removal causes confusion among users who rely on this information to avoid using redundant colormaps in their visualizations.
  • issues/30796

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: 6

Summarized Issues:

  • Customization limitations in legend and title fonts: The current Matplotlib implementation does not allow users to customize the legend box edge line width, limiting visual control over legend appearance. Additionally, the ax.set_title() method ignores the size or fontsize parameter when a custom font is specified, preventing expected updates to the title font size.
  • issues/30767, issues/30797
  • Figure format and editing capabilities: There is a request for an official editable figure format in Matplotlib that would save the full figure state and allow reopening and interactive editing without rerunning code. This feature aims to improve workflow efficiency and accessibility for various users including researchers and students.
  • issues/30769
  • Hatch pattern application in grouped bar charts: The grouped_bar function currently cycles hatch patterns per patch rather than per dataset, causing incorrect repetition within datasets. Normalizing hatch patterns to one per dataset is proposed to align with color and label broadcasting and fix related test failures.
  • issues/30789
  • Colorbar range control in contour plots: Users face difficulty setting a custom display range for the colorbar independently of contour levels, as parameters like vmin and vmax affect contour levels but not the colorbar scale. There is a request to reintroduce or provide an easy alternative to set_clim and clim methods to adjust the colorbar range separately.
  • issues/30793
  • Diagram creation and advanced layout features: There was a discussion about enhancing Matplotlib to support creating complex diagrams such as flow charts and mind maps with features like absolute sizing, auto-resizing canvases, and shape combination. However, this functionality is not planned for core Matplotlib and the issue was closed.
  • issues/30794

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: 2

Key Open Pull Requests

1. Fix array alpha to multiply (not replace) existing RGBA alpha: This pull request fixes the behavior of array alpha in RGBA images so that it multiplies with the existing alpha channel instead of replacing it, making it consistent with scalar alpha behavior and resulting in more intuitive compositing.

  • URL: pull/30795
  • Merged: No
  • Associated Commits: 7401f, 46539

2. Always display WebAgg URL regardless of browser open status: This pull request ensures that the WebAgg server URL is always displayed to users regardless of whether the browser opens automatically or not, improving accessibility and usability by moving the URL print statement outside the conditional block that previously limited its display.

  • URL: pull/30786
  • Merged: No
  • Associated Commits: 25430

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: 17

Key Closed Pull Requests

1. Add legend support for PatchCollection: This pull request adds support for displaying PatchCollection instances in matplotlib legends by registering them to use the existing HandlerPolyCollection legend handler, thereby enabling automatic legend entries with correct visual representation and eliminating the previous need for manual legend creation.

  • URL: pull/30756
  • Merged: 2025-11-26T18:25:45Z
  • Associated Commits: 0f132, 3f013, 567b4, 8fc57, 478de, 8536b, 71c9a, 618d4, 122a7, 83adf, 477bf, 1a1b2, bd2f9, 33242, b669f, 92aae, 555fa

2. Fix colorbar alignment with suptitle in compressed layout mode: This pull request fixes the alignment of colorbars with their parent axes when using compressed layout mode with a suptitle by ensuring that colorbars are sized based on the post-aspect-adjustment dimensions of the axes, thereby maintaining proper vertical alignment and height.

  • URL: pull/30766
  • Merged: 2025-11-27T17:15:50Z
  • Associated Commits: 41130, 8029b, 993dd

3. Add legend.linewidth parameter to control legend box edge linewidth: This pull request introduces a new legend.linewidth parameter to matplotlib's rcParams and Legend class, allowing users to independently control the linewidth of the legend box edges for improved customization and consistency with other legend styling options.

  • URL: pull/30780
  • Merged: 2025-11-29T13:26:11Z
  • Associated Commits: 8f429, d9230, 6d4de

Other Closed Pull Requests

  • Documentation improvements and examples: Multiple pull requests focus on enhancing Matplotlib's documentation by adding examples for functions like make_keyword_only() and tick label alignment, correcting docstrings for accuracy, and improving readability with added notes. These changes aim to clarify usage and fix misleading information, ensuring users have better guidance and understanding of the API.
  • [pull/30783, pull/30763, pull/30784, pull/30799, pull/30801, pull/30802, pull/30784]
  • Pie chart functionality and documentation updates: Several pull requests introduce new pie chart features such as the pie_label method and PieContainer class to improve labeling and organization of pie chart components, alongside updates to documentation that remove outdated indexing of the pie function's return value. These changes enhance both the functionality and the accuracy of the pie chart API in Matplotlib.
  • [pull/30733, pull/30799]
  • Key-mapping typo fix and backports: A set of pull requests address a typo in the key-mapping for the "f11" key in the Qt backend, ensuring correct keypress event handling, with subsequent backports of this fix to older branches to maintain consistency across versions. This ensures that the fix is applied not only to the main branch but also to supported release branches.
  • [pull/30788, pull/30790, pull/30791]
  • Deprecation of the table() function: One pull request formally declares the table() function as deprecated, signaling that it is no longer actively developed within the Matplotlib project. This helps users and developers understand the current status and future direction regarding this function.
  • [pull/30776]
  • Glossary introduction: A pull request reintroduces the glossary to the project by establishing its structural framework with initial draft definitions, aiming to close a related issue while deferring detailed term refinement to future contributions. This sets the foundation for a comprehensive glossary to aid user understanding.
  • [pull/30782]
  • Survey-related changes: One pull request proposes changes related to a university student survey, as indicated by its title and description, though details are limited. This appears to be a specialized update distinct from other documentation or functionality changes.
  • [pull/30781]

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 16 9 0 53
FazeelUsmani 32 4 0 8
ilakkmanoharan 22 2 5 14
QuLogic 12 1 0 14
rcomer 8 3 0 13
story645 1 0 0 22
tacaswell 2 1 0 19
anntzer 5 2 0 0
jklymak 0 0 0 6
Nayil97 4 1 0 0

Don't miss what's next. Subscribe to Weekly Project News:
Powered by Buttondown, the easiest way to start and grow your newsletter.