You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Colorbar format string kind guess could be made more robust #27007
When the format kwarg passed to colorbar() is a str, colorbar() currently tries to guess whether it is a %-format or a {}-format string, using
ifisinstance(format, str):
# Check format between FormatStrFormatter and StrMethodFormattertry:
self._formatter=ticker.FormatStrFormatter(format)
_=self._formatter(0)
exceptTypeError:
self._formatter=ticker.StrMethodFormatter(format)
Even ignoring the (contrieved) case where the format string is valid both as a %-format and a {}-format, there are other failure cases which could be easily handled, specifically format="{x}%" ("I want to format the value with a percent-sign appended to it"): here the _formatter(0) call will fail with a ValueError (which just needs to be caught) rather than a TypeError.
Code for reproduction
# see above
Actual outcome
ValueError raised.
Expected outcome
Format string used as expected.
Additional information
Probably just needs additionally catching ValueError, plus a test.
This issue is suited to new contributors because it does not require understanding of the Matplotlib internals. To get started, please see our contributing guide.
We do not assign issues. Check the Development section in the sidebar for linked pull requests (PRs). If there are none, feel free to start working on it. If there is an open PR, please collaborate on the work by reviewing it rather than duplicating it in a competing PR.
Activity
github-actions commentedon Oct 5, 2023
Good first issue - notes for new contributors
This issue is suited to new contributors because it does not require understanding of the Matplotlib internals. To get started, please see our contributing guide.
We do not assign issues. Check the Development section in the sidebar for linked pull requests (PRs). If there are none, feel free to start working on it. If there is an open PR, please collaborate on the work by reviewing it rather than duplicating it in a competing PR.
If something is unclear, please reach out on any of our communication channels.