diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 42891ce558c5..8e96209d733f 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -4993,9 +4993,7 @@ def reduce_C_function(C: array) -> float # autoscale the norm with current accum values if it hasn't been set if norm is not None: if norm.vmin is None and norm.vmax is None: - norm.autoscale_None(accum) - norm.vmin = np.ma.masked if norm.vmin is None else norm.vmin - norm.vmax = np.ma.masked if norm.vmax is None else norm.vmax + norm.autoscale(accum) if bins is not None: if not np.iterable(bins): diff --git a/lib/matplotlib/colors.py b/lib/matplotlib/colors.py index f8a18443c9e0..3804a9bbfbe9 100644 --- a/lib/matplotlib/colors.py +++ b/lib/matplotlib/colors.py @@ -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 in_trf_domain.size == 0: + in_trf_domain = np.ma.masked return super().autoscale(in_trf_domain) def autoscale_None(self, A): in_trf_domain = np.extract(np.isfinite(self._trf.transform(A)), A) + if in_trf_domain.size == 0: + in_trf_domain = np.ma.masked return super().autoscale_None(in_trf_domain) if base_norm_cls is Normalize:
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: