8000 Update to docs with regards to colorbar and colorizer by trygvrad · Pull Request #30112 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content

Update to docs with regards to colorbar and colorizer #30112

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 2, 2025

Conversation

trygvrad
Copy link
Contributor
@trygvrad trygvrad commented May 26, 2025

PR summary

This PR updates https://matplotlib.org/stable/gallery/images_contours_and_fields/multi_image.html and https://matplotlib.org/stable/users/explain/colors/colorbar_only.html in light of the interoduction of colorizer.Colorizer and colorizer.ColorizingArtist (#28658).

It also updates the docs of colorbar.Colorbar to reference colorizer.ColorizingArtist instead of cm.ScalarMappable

See #30008 for a related discussion.

PR checklist

Comment on lines 11 to 15
A `~.Figure.colorbar` needs a "mappable" (`matplotlib.colorizer.ColorizingArtist`)
object (typically, an image) which contains a colorizer
(`matplotlib.colorizer.Colorizer`) that holds the data-to-color pipeline (norm and
colormap). In order to create a colorbar without an attached image, one can instead
use a `.ColorizingArtist` with no associated data.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you can be more straightforward. ColorizingArtist is the base class for everything that "can be colormapped". Directly instruct to create the base class and pass it to colorbar. This the detour "typically subclasses with data, like image, but you can create without data" is not needed for the context of creating a standalone colorbar.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for the feedback, does the following read more easily:

"""
A `~.Figure.colorbar` requires a `matplotlib.colorizer.ColorizingArtist` which
contains a `matplotlib.colorizer.Colorizer` that holds the data-to-color pipeline
(norm and colormap). To create a colorbar without an attached plot one can 
use a `.ColorizingArtist` with no associated data.
"""

(and should we remove the last sentence?)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is okish. Maybe an improvement would be to switch the last sentence for

To create a colorbar without an attached plot one can directly instantiate the
base class .ColorizingArtist, which has no associated data.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done :)

@trygvrad
Copy link
Contributor Author
trygvrad commented Jun 1, 2025

Thank you @timhoffm, all the suggestions should be addressed now :)

@trygvrad trygvrad force-pushed the colorbar-docs-colorizer branch from d56d471 to 150165b Compare June 2, 2025 20:24
@timhoffm timhoffm added this to the v3.11.0 milestone Jun 2, 2025
@timhoffm timhoffm merged commit b09a0c7 into matplotlib:main Jun 2, 2025
39 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0