I can't reproduce. And obviously we test CL pretty heavily, so all our tests would fail if that didn't work at all. So you must have something else in your setup causing the problem.
Oh, that's interesting... this only occurs with mplcairo, even though I would have thought this touched something completely orthogonal to the actual renderer (this is why I didn't think about checking that part). I'll investigate, sorry for the noise.
Not on purpose. However I think things changed so that the layout parameters were not hard coded when the gridspecs are created. Ie the width ratios etc are done at drawtime. That allows you to change the gridspec width ratios and have it take effect. However I think this went in before #20426
OK, I figured out that this occured because I was doing some weird dance to try to reuse renderer instances in order to not invalidate the text layout cache (now see #22271, which doesn't immediately address the text cache but is preliminary work in that direction), but #20426 changed something and I ended up drawing to a draw-disabled renderer. I just stripped out most of the caching for now.
Perhaps still worth figuring out exactly what changed, but I guess I can just milestone this as 3.6 for myself and have a look when I can, with less urgency.
I'm going to close this since it is working as expected for unpatched Matplotlib. If when adding your "weird" renderer dance you come up with a flaw in how constrained_layout is implemented, feel free to re-raise the issue, but there is nothing actionable for the rest of us (yet).
Activity
jklymak commented on Jan 19, 2022
I can't reproduce. And obviously we test CL pretty heavily, so all our tests would fail if that didn't work at all. So you must have something else in your setup causing the problem.
jklymak commented on Jan 19, 2022
(Well, OK, I didn't try and reproduce with mplcairo)...
anntzer commented on Jan 19, 2022
Oh, that's interesting... this only occurs with mplcairo, even though I would have thought this touched something completely orthogonal to the actual renderer (this is why I didn't think about checking that part). I'll investigate, sorry for the noise.
jklymak commented on Jan 19, 2022
Well, it is weird that it doesn't work w/ mplcairo. If there is something we need to fix, we should try before release...
anntzer commented on Jan 19, 2022
Do you know if the sequence of draws changed with #20426?
jklymak commented on Jan 19, 2022
Not on purpose. However I think things changed so that the layout parameters were not hard coded when the gridspecs are created. Ie the width ratios etc are done at drawtime. That allows you to change the gridspec width ratios and have it take effect. However I think this went in before #20426
anntzer commented on Jan 20, 2022
OK, I figured out that this occured because I was doing some weird dance to try to reuse renderer instances in order to not invalidate the text layout cache (now see #22271, which doesn't immediately address the text cache but is preliminary work in that direction), but #20426 changed something and I ended up drawing to a draw-disabled renderer. I just stripped out most of the caching for now.
Perhaps still worth figuring out exactly what changed, but I guess I can just milestone this as 3.6 for myself and have a look when I can, with less urgency.
jklymak commented on Jan 20, 2022
I'm going to close this since it is working as expected for unpatched Matplotlib. If when adding your "weird" renderer dance you come up with a flaw in how constrained_layout is implemented, feel free to re-raise the issue, but there is nothing actionable for the rest of us (yet).