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

MNT: Use a context manager to change the norm in colorbar code#22523

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
timhoffm merged 1 commit intomatplotlib:mainfromgreglucas:cbar-rm-norm-deepcopy
Mar 8, 2022

Conversation

greglucas
Copy link
Contributor

PR Summary

This removes a deepcopy of the norm in Colorbar, instead updating
the vmin/vmax via the context manager and ignoring any
callback updates in the process.

xref:#22313

PR Checklist

Tests and Styling

  • [N/A] Has pytest style unit tests (andpytest passes).
  • IsFlake 8 compliant (installflake8-docstrings and runflake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • New features have an entry indoc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented indoc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs shouldbuild without error).

@greglucasgreglucas added this to thev3.6.0 milestoneFeb 21, 2022
@greglucasgreglucas mentioned this pull requestFeb 21, 2022
6 tasks
return (X, Y, extendlen)
else:
return (Y, X, extendlen)
with self.norm.callbacks.blocked(), \
Copy link
Member

Choose a reason for hiding this comment

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

I guess maybe we should move this inside theelse below? Also why do you need to use setattr_cm here? Maybe a comment?

I guess I am still confused why we need adeepcopy here versus just a shallowcopy.

Copy link
ContributorAuthor

Choose a reason for hiding this comment

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

Good call on moving this to within the else. I just did that and added some more verbose comments.

The reason we don't want a copy is that there are signals attached to the norm to keep it in sync with the scalar mappable and autoscale_None machinery, so doing a temporary update would fire those signals and potentially propagate some unwanted changes or double update some features. The context manager is a nice way of doing the temporary update without needing to make a full copy.

This removes a deepcopy of the norm in Colorbar, instead updatingthe vmin/vmax via the context manager and ignoring anycallback updates in the process.
@timhoffmtimhoffm merged commit23cd7dd intomatplotlib:mainMar 8, 2022
@greglucasgreglucas deleted the cbar-rm-norm-deepcopy branchMarch 8, 2022 15:55
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@jklymakjklymakjklymak left review comments

@QuLogicQuLogicQuLogic approved these changes

@timhoffmtimhoffmtimhoffm approved these changes

Assignees
No one assigned
Projects
None yet
Milestone
v3.6.0
Development

Successfully merging this pull request may close these issues.

4 participants
@greglucas@QuLogic@jklymak@timhoffm

[8]ページ先頭

©2009-2025 Movatter.jp