Title: Should constrained_layout be applied every draw? · Issue #11630 · matplotlib/matplotlib · GitHub
Open Graph Title: Should constrained_layout be applied every draw? · Issue #11630 · matplotlib/matplotlib
X Title: Should constrained_layout be applied every draw? · Issue #11630 · matplotlib/matplotlib
Description: Discussion Right now fig, ax = plt.subplots(constrained_layout=True) will cause the axes resizing to be carried out every draw event; hence the axes get repositioned if the figure changes size, or if zoom is applied, or panning, etc. Is ...
Open Graph Description: Discussion Right now fig, ax = plt.subplots(constrained_layout=True) will cause the axes resizing to be carried out every draw event; hence the axes get repositioned if the figure changes size, or ...
X Description: Discussion Right now fig, ax = plt.subplots(constrained_layout=True) will cause the axes resizing to be carried out every draw event; hence the axes get repositioned if the figure changes size, or ...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/11630
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Should constrained_layout be applied every draw?","articleBody":"\u003c!--To help us understand and resolve your issue, please fill out the form to the best of your ability.--\u003e\r\n\u003c!--You can feel free to delete the sections that do not apply.--\u003e\r\n\r\n### Discussion\r\n\r\nRight now `fig, ax = plt.subplots(constrained_layout=True)` will cause the axes resizing to be carried out every draw event; hence the axes get repositioned if the figure changes size, or if zoom is applied, or panning, etc. \r\n\r\nIs this desirable? \r\n\r\n`plt.tight_layout()` is only called once, and does not get activated at draw time. \r\n\r\nPros: \r\n - if the window is resized, the axes positions are recalculated. That means the padding and margins expand or contract as the window gets smaller or larger.\r\n - if we zoom, and the ticklabels get much longer (i.e. more decimal places), the axes get resized.\r\n\r\nCons:\r\n - under zoom the axes keep changing size. That can be distracting. It doesn't always work either because there is a strange interaction with zoom and clipping boxes for artists. \r\n - for a plot w/ lots of axes it makes zooming/panning less responsive. \r\n\r\nAny opinions? For my usual workflow, I'm probably fine with just calling constrained layout on the original plot. Any zooming etc are done on working plots versus final presentation plots, and I hard code limits in after the exploration stage. But I get the feeling some people use a lot of GUI work before saving their plots. \r\n","author":{"url":"https://github.com/jklymak","@type":"Person","name":"jklymak"},"datePublished":"2018-07-11T13:27:58.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":6},"url":"https://github.com/11630/matplotlib/issues/11630"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:fb2921d9-8c70-5c87-9963-52325b7202f7 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DC78:26FC81:1D28FF6:273EBD6:6A536C67 |
| html-safe-nonce | 7c6d91740d93f587991eb3ae495f95ee50852ce4d63bca2929eeb240327f20cc |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzc4OjI2RkM4MToxRDI4RkY2OjI3M0VCRDY6NkE1MzZDNjciLCJ2aXNpdG9yX2lkIjoiMzAwNzE2NjE3MjA2MTk4NTg5NSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | c10999c4027a22b1a3f00fcec62243eab980b45a92f6e8e76d04953cfbed4ea9 |
| hovercard-subject-tag | issue:340241927 |
| github-keyboard-shortcuts | repository,issues,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/_view_fragments/issues/show/matplotlib/matplotlib/11630/issue_layout |
| twitter:image | https://opengraph.githubassets.com/fb0a55ce54cd8b957dda00fc5be14ec6841d1176791025c5126463a234b996b4/matplotlib/matplotlib/issues/11630 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/fb0a55ce54cd8b957dda00fc5be14ec6841d1176791025c5126463a234b996b4/matplotlib/matplotlib/issues/11630 |
| og:image:alt | Discussion Right now fig, ax = plt.subplots(constrained_layout=True) will cause the axes resizing to be carried out every draw event; hence the axes get repositioned if the figure changes size, or ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jklymak |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| 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 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width