Skip to content

Update figure.py - #29277

Closed
Thierno88 wants to merge 1 commit into
matplotlib:mainfrom
Thierno88:main
Closed

Thierno88 wants to merge 1 commit into
matplotlib:mainfrom
Thierno88:main

Conversation

@Thierno88

Copy link
Copy Markdown

This PR introduces a new method, set_figratio, to the matplotlib.figure.Figure class. The purpose of this method is to allow users to set the figure's height and width while optionally preserving the aspect ratio between them. It also supports the ability to use the default figure size values defined in rcParams when one of the dimensions (width or height) is None. This provides a more convenient and flexible approach for adjusting the figure's size based on either fixed dimensions or aspect ratios, addressing a common need for publication-style figure formatting.

Changes made:
Introduced set_figratio to adjust the figure's width and height or aspect ratio.
Added support for None in the figsize parameter, automatically using the default size from rcParams when needed.
Simplified the figure resizing logic based on aspect ratios, ensuring better compatibility with user-defined figure sizes.
Motivation:
This feature was requested in relation to issue #28758, where users wanted the ability to specify a width or height and automatically adjust the other dimension based on a given aspect ratio. This method aims to streamline that process and allow for a simpler workflow when creating figures with publication-specific sizes.

PR checklist
"closes #28758" is in the body of the PR description to link the related issue
new and changed code is tested
Plotting related features are demonstrated in an example
New Features and API Changes are noted with a directive and release note
Documentation complies with general and docstring guidelines

Creating set_figratio
@tacaswell

Copy link
Copy Markdown
Member

This should be coordinated with #29262 which is implementing the same feature.

@timhoffm

Copy link
Copy Markdown
Member

@Thierno88 thanks for the contribution. However, per the discussion in #28758 we feel new method is not worth it.

@timhoffm timhoffm closed this Mar 26, 2026
@github-project-automation github-project-automation Bot moved this from Waiting for author to Done in First Time Contributors Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

[ENH]: Specifying figure size based on width and ratio/aspect

3 participants