From 47624bba42c4f39c90197bbe635b2257245801a7 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Mon, 27 Sep 2021 23:44:20 -0400 Subject: [PATCH] Backport PR #21191: Fix very-edge case in csd(), plus small additional cleanups. --- lib/matplotlib/axes/_axes.py | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 54b3572ca48f..96e233ed92f8 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -7041,12 +7041,9 @@ def psd(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, self.set_xlabel('Frequency') self.set_ylabel('Power Spectral Density (%s)' % psd_units) self.grid(True) + vmin, vmax = self.viewLim.intervaly - intv = vmax - vmin - logi = int(np.log10(intv)) - if logi == 0: - logi = .1 - step = 10 * logi + step = max(10 * int(np.log10(vmax - vmin)), 1) ticks = np.arange(math.floor(vmin), math.ceil(vmax) + 1, step) self.set_yticks(ticks) @@ -7146,11 +7143,9 @@ def csd(self, x, y, NFFT=None, Fs=None, Fc=None, detrend=None, self.set_xlabel('Frequency') self.set_ylabel('Cross Spectrum Magnitude (dB)') self.grid(True) - vmin, vmax = self.viewLim.intervaly - - intv = vmax - vmin - step = 10 * int(np.log10(intv)) + vmin, vmax = self.viewLim.intervaly + step = max(10 * int(np.log10(vmax - vmin)), 1) ticks = np.arange(math.floor(vmin), math.ceil(vmax) + 1, step) self.set_yticks(ticks) @@ -7582,7 +7577,7 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, else: Z = 20. * np.log10(spec) else: - raise ValueError('Unknown scale %s', scale) + raise ValueError(f'Unknown scale {scale!r}') Z = np.flipud(Z)