Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Move empty hexbin fix to make_norm_from_scale.#24259
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
Uh oh!
There was an error while loading.Please reload this page.
Conversation
lib/matplotlib/colors.py Outdated
@@ -1718,10 +1718,14 @@ def inverse(self, value): | |||
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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This changes this for everything that usesautoscale
; is that OK? I guess its not failing any tests, but our masked tests were not terribly complete.
I findnot in_trf_domain.size
enigmatic - I assume it is None if there was nothing to extract? Maybe add a comment...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
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 themore back-compatible fix is to switch make_norm_from_scale to reproducethe old behavior of setting vmin/vmax to np.ma.masked when autoscalingwith an empty array. (Whether that behavior is really better isunclear, but until this is properly investigated, it seems safer to goback to it.)
I do wonder about our continued support of |
I personally don't care much about masked arrays, but IIRC@efiring was a proponent (sorry if I got this wrong). |
…259-on-v3.6.xBackport PR#24259 on branch v3.6.x (Move empty hexbin fix to make_norm_from_scale.)
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
pytest
passes).flake8-docstrings
and 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).