Title: ENH: Only do constrained layout at draw... by jklymak · Pull Request #20229 · matplotlib/matplotlib · GitHub
Open Graph Title: ENH: Only do constrained layout at draw... by jklymak · Pull Request #20229 · matplotlib/matplotlib
X Title: ENH: Only do constrained layout at draw... by jklymak · Pull Request #20229 · matplotlib/matplotlib
Description: PR Summary This PR moves all of the state for constrained_layout out of figure and gridspec except for the kwargs in figure. There are a few clear advantages. No extra state to worry about if the figure is serialized (kiwi solver objects don't serialize). constrained_layout can respond to changing gridspec specs (like width ratios) because all the state is decided at draw time. More parallel to tight_layout which does all its work at draw time as well. This may have a minor speed hit because all the layout boxes are made each draw, but I doubt its very significant performance benchmarks. seems to be no discernible difference using the mpl-bench constrained_layout benchmarks... PR Checklist Has pytest style unit tests (and pytest passes). Is Flake 8 compliant (run flake8 on changed files to check). New features are documented, with examples if plot related. Documentation is sphinx and numpydoc compliant (the docs should build without error). Conforms to Matplotlib style conventions (install flake8-docstrings and run flake8 --docstring-convention=all). New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there). API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
Open Graph Description: PR Summary This PR moves all of the state for constrained_layout out of figure and gridspec except for the kwargs in figure. There are a few clear advantages. No extra state to worry about if th...
X Description: PR Summary This PR moves all of the state for constrained_layout out of figure and gridspec except for the kwargs in figure. There are a few clear advantages. No extra state to worry about if th...
Opengraph URL: https://github.com/matplotlib/matplotlib/pull/20229
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:4f556a83-07af-c203-8e11-faea1e4fd370 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | AD16:20B327:116E686:1711072:6A51A9D7 |
| html-safe-nonce | dffdc045a6eb41ef4b61fc57c1edca1bf0f36ba636d2e6133702471244fbfc60 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRDE2OjIwQjMyNzoxMTZFNjg2OjE3MTEwNzI6NkE1MUE5RDciLCJ2aXNpdG9yX2lkIjoiMzI1OTA0MDUzOTExMTE3MjU2NyIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 4097700b2d0b66c0b15e3d4a5370a7a1e98de07163f685164ac77b3a1f19cedb |
| hovercard-subject-tag | pull_request:644463535 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/20229/files |
| twitter:image | https://avatars.githubusercontent.com/u/1562854?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1562854?s=400&v=4 |
| og:image:alt | PR Summary This PR moves all of the state for constrained_layout out of figure and gridspec except for the kwargs in figure. There are a few clear advantages. No extra state to worry about if th... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width