Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Adding an equals method to colormaps#20227

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
tacaswell merged 1 commit intomatplotlib:masterfromgreglucas:cm-equals
May 14, 2021

Conversation

greglucas
Copy link
Contributor

PR Summary

This adds an__eq__ method to Colormap to test the lookup
tables for equality. This will help for testing whether colormaps are the same even if they aren't the same object.

plt.get_cmap("Blues") == plt.get_cmap("Blues") even if they aren't the same object anymore.
Taking just this portion out of theclosed#16943.

PR Checklist

  • Has pytest style unit tests (andpytest passes).
  • IsFlake 8 compliant (runflake8 on changed files to check).
  • [N/A] New features are documented, with examples if plot related.
  • [N/A] Documentation is sphinx and numpydoc compliant (the docs shouldbuild without error).
  • [N/A] Conforms to Matplotlib style conventions (installflake8-docstrings and runflake8 --docstring-convention=all).
  • [N/A] New features have an entry indoc/users/next_whats_new/ (follow instructions in README.rst there).
  • [N/A] API changes documented indoc/api/next_api_changes/ (follow instructions in README.rst there).

self._init()
if not other._isinit:
other._init()
return np.array_equal(self._lut, other._lut)
Copy link
Member

Choose a reason for hiding this comment

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

colormaps know their own name, is that something we want to also check?

Copy link
Member

Choose a reason for hiding this comment

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

Yes, IMHO we should. As we use it now, the name is an integral part of the colormap. Otherwise you can get funny behavior, e.g. with the new colormap registry

cmap in colormaps.values()  # Truecmap.name in colormaps.keys()  # False

And similar.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

I don't have a strong opinion either way. I was viewing the== to mean "will these colormaps look the same". If cmocean defines a "Blues1" colormap and it looks suspiciously similar to MPL's "Blues", I may want to check for that equality and not name equality. I do see TIm's point though, so I am fine adding it if that is what is wanted.

I suppose we should also addcolorbar_extends too in case someone changed that.

Copy link
Member

@timhoffmtimhoffmMay 14, 2021
edited
Loading

Choose a reason for hiding this comment

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

I see the point in "will these colormaps look the same", but as long as we haveColormap.name I think it has to be taken into account for__eq__. You could introduce aColormap.is_equivalent() for "look the same". OTOH I don't think there is a strong reason a colormap has to know its name, but removing that is hard to justify as well.

story645 reacted with thumbs up emoji
Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

OK, I added in the comparisons forname andcolorbar_extend. Also added tests for those two situations.

@jklymakjklymak marked this pull request as draftMay 14, 2021 18:39
This adds an __eq__ method to Colormap to test the lookuptables for equality.
@greglucasgreglucas marked this pull request as ready for reviewMay 14, 2021 20:47
Copy link
Member

@jklymakjklymak left a comment

Choose a reason for hiding this comment

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

Not sure when I would use this, but it looks right to me ;-)

@tacaswell
Copy link
Member

I do not think this is a big enough feature to warrant a whats new.

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@timhoffmtimhoffmtimhoffm left review comments

@tacaswelltacaswelltacaswell approved these changes

@jklymakjklymakjklymak approved these changes

@PANDATDPANDATDPANDATD approved these changes

Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
v3.5.0
Development

Successfully merging this pull request may close these issues.

5 participants
@greglucas@tacaswell@jklymak@timhoffm@PANDATD

[8]ページ先頭

©2009-2025 Movatter.jp