Repository navigation
Conversation
44a5dff to
09d21bf
Compare
09d21bf to
96340c1
Compare
|
I pushed commit The first CI run showed that The free-threaded Linux job had 3 image failures (all baseline/layout comparisons, no Python exceptions). A new CI run is now queued for the narrowed change. |
timhoffm
left a comment
There was a problem hiding this comment.
This is a complex topic going deep into the internals of matplotlib. I myself have to admit, that I do not understand the root cause or the suitability of the fix without taking the time to dig into the topic.
Since you apprently did, in your own words and without consulting AI (following our AI policy), please explain why this is the correct solution:
- what is the root cause of the issue
- #32316 (comment) states the bisect. Did you confirm that? How does the code here relate to the regession of the stated commit?
- why is the adjustment limited to FuncFormatter?
- how do you justify the design to introducingdynamic attributes
_is_ticklabeland_is_custom_ticklabel_formatter?
|
Thanks for the detailed questions. The regression is caused by the change in The fix is limited to
I agree that dynamic private attributes are not ideal as a long-term design. |
|
Thanks for the reply. Maybe I'm misunderstanding, but I have the impression that this is rather an operational fix for the given example but not a systematic identification and fix of the root cause. For example, the issue example uses a FuncFormatter I would expect - but have not checked yet - that a fixed formatter should render identically If that's the case, a specific fix for FuncFormatter is not the way to go. If my assuption is wrong, I'd like to understand why FuncFormatter rendering is different than FixedFormatter rendering. |
Fixes #32316.
Summary
lpmetrics."pol."and"1") on a common baseline after the text metric changes in 3.11.The adjustment is limited to labels produced by a
FuncFormatter; default numeric tick formatting, fixed labels, and rotated labels retain their existing layout behavior.Tests
MPLBACKEND=Agg ./.venv/bin/pytest -q lib/matplotlib/tests/test_text.py lib/matplotlib/tests/test_axes.py lib/mpl_toolkits/axes_grid1/tests/test_axes_grid1.py lib/mpl_toolkits/mplot3d/tests/test_axes3d.py lib/matplotlib/tests/test_colorbar.pypython -m compileall -q lib/matplotlib/axis.py lib/matplotlib/text.py lib/matplotlib/tests/test_text.pygit diff --checkThe focused Matplotlib test run passed with
1338 passed, 91 skipped.AI Disclosure
I used an AI coding assistant to help investigate the regression, draft the implementation, and run the tests. I reviewed the changes, the resulting baseline images, and the test output before opening this pull request.