Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a6e01b5

Browse files
authored
Merge pull request #21191 from anntzer/spec
Fix very-edge case in csd(), plus small additional cleanups.
2 parents d97c332 + b4253ba commit a6e01b5

File tree

1 file changed

+5
-10
lines changed

1 file changed

+5
-10
lines changed

lib/matplotlib/axes/_axes.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7041,12 +7041,9 @@ def psd(self, x, NFFT=None, Fs=None, Fc=None, detrend=None,
70417041
self.set_xlabel('Frequency')
70427042
self.set_ylabel('Power Spectral Density (%s)' % psd_units)
70437043
self.grid(True)
7044+
70447045
vmin, vmax = self.viewLim.intervaly
7045-
intv = vmax - vmin
7046-
logi = int(np.log10(intv))
7047-
if logi == 0:
7048-
logi = .1
7049-
step = 10 * logi
7046+
step = max(10 * int(np.log10(vmax - vmin)), 1)
70507047
ticks = np.arange(math.floor(vmin), math.ceil(vmax) + 1, step)
70517048
self.set_yticks(ticks)
70527049

@@ -7146,11 +7143,9 @@ def csd(self, x, y, NFFT=None, Fs=None, Fc=None, detrend=None,
71467143
self.set_xlabel('Frequency')
71477144
self.set_ylabel('Cross Spectrum Magnitude (dB)')
71487145
self.grid(True)
7149-
vmin, vmax = self.viewLim.intervaly
7150-
7151-
intv = vmax - vmin
7152-
step = 10 * int(np.log10(intv))
71537146

7147+
vmin, vmax = self.viewLim.intervaly
7148+
step = max(10 * int(np.log10(vmax - vmin)), 1)
71547149
ticks = np.arange(math.floor(vmin), math.ceil(vmax) + 1, step)
71557150
self.set_yticks(ticks)
71567151

@@ -7582,7 +7577,7 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None,
75827577
else:
75837578
Z = 20. * np.log10(spec)
75847579
else:
7585-
raise ValueError('Unknown scale %s', scale)
7580+
raise ValueError(f'Unknown scale {scale!r}')
75867581

75877582
Z = np.flipud(Z)
75887583

0 commit comments

Comments
 (0)