Move empty hexbin fix to make_norm_from_scale.#24259
Merged
QuLogic merged 1 commit intomatplotlib:mainfrom Oct 31, 2022
Merged
Conversation
jklymak
reviewed
Oct 23, 2022
lib/matplotlib/colors.py
Outdated
| def autoscale(self, A): | ||
| # i.e. A[np.isfinite(...)], but also for non-array A's | ||
| in_trf_domain = np.extract(np.isfinite(self._trf.transform(A)), A) | ||
| if not in_trf_domain.size: |
Member
There was a problem hiding this comment.
This changes this for everything that uses autoscale; is that OK? I guess its not failing any tests, but our masked tests were not terribly complete.
I find not in_trf_domain.size enigmatic - I assume it is None if there was nothing to extract? Maybe add a comment...
Contributor
Author
There was a problem hiding this comment.
is that OK?
AFAICT this simply reverts to the pre 3.6 behavior, which had been accidentally changed.
not in_trf_domain.size
Sure, changed.
3d2ffef added special-casing to handle empty log-scale hexbins, but the more back-compatible fix is to switch make_norm_from_scale to reproduce the old behavior of setting vmin/vmax to np.ma.masked when autoscaling with an empty array. (Whether that behavior is really better is unclear, but until this is properly investigated, it seems safer to go back to it.)
jklymak
approved these changes
Oct 30, 2022
Member
|
I do wonder about our continued support of |
Contributor
Author
|
I personally don't care much about masked arrays, but IIRC @efiring was a proponent (sorry if I got this wrong). |
QuLogic
approved these changes
Oct 31, 2022
meeseeksmachine
pushed a commit
to meeseeksmachine/matplotlib
that referenced
this pull request
Oct 31, 2022
tacaswell
added a commit
that referenced
this pull request
Nov 1, 2022
…259-on-v3.6.x Backport PR #24259 on branch v3.6.x (Move empty hexbin fix to make_norm_from_scale.)
7 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
3d2ffef added special-casing to handle empty log-scale hexbins, but the more back-compatible fix is to switch make_norm_from_scale to reproduce the old behavior of setting vmin/vmax to np.ma.masked when autoscaling with an empty array. (Whether that behavior is really better is unclear, but until this is properly investigated, it seems safer to go back to it.)
See #23944, #23922.
PR Summary
PR Checklist
Tests and Styling
pytestpasses).flake8-docstringsand runflake8 --docstring-convention=all).Documentation
doc/users/next_whats_new/(follow instructions in README.rst there).doc/api/next_api_changes/(follow instructions in README.rst there).