Skip to content

fix subfigures wspace/hspace=None using rc defaults instead of zero#32098

Open
sanrishi wants to merge 2 commits into
matplotlib:mainfrom
sanrishi:fix/subfigure-none-spacing
Open

fix subfigures wspace/hspace=None using rc defaults instead of zero#32098
sanrishi wants to merge 2 commits into
matplotlib:mainfrom
sanrishi:fix/subfigure-none-spacing

Conversation

@sanrishi

Copy link
Copy Markdown
Contributor

When subfigures() is called without a layout engine and only one of wspace/hspace is specified (e.g. wspace=0.2, hspace=None), the None value gets passed through GridSpec to SubplotParams which leaves the rcParam default (0.2) in place. This causes an unintended gap on the unspecified axis.

The docs say None should mean zero when no layout engine is active, so coerce missing values to 0.0 before constructing the GridSpec.

Fixes #32076

@sanrishi

Copy link
Copy Markdown
Contributor Author

Noticed the existing test_subfigures_wspace_hspace covers the case where both are set, but there wasn't one for the partial None case. Added test_subfigures_partial_spacing to cover that. Let me know if the approach looks right or if you'd prefer a different fix location.

@sanrishi
sanrishi force-pushed the fix/subfigure-none-spacing branch from d2caede to 01046b7 Compare July 22, 2026 21:05
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.

SubFigure hspace=None incorrectly applies default vertical spacing when wspace is specified

1 participant