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

Skip to content

Commit 37481ad

Browse files
committed
Set defaults for NFFT and noverlap function wide in _axes.specgram() and mlab.specgram().
1 parent 0141f27 commit 37481ad

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

lib/matplotlib/axes/_axes.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7200,8 +7200,12 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None,
72007200
if not self._hold:
72017201
self.cla()
72027202

7203+
if NFFT is None:
7204+
NFFT = 256 # same default as in mlab.specgram()
72037205
if Fc is None:
7204-
Fc = 0
7206+
Fc = 0 # same default as in mlab._spectral_helper()
7207+
if noverlap is None:
7208+
noverlap = 128 # same default as in mlab.specgram()
72057209

72067210
if mode == 'complex':
72077211
raise ValueError('Cannot plot a complex specgram')
@@ -7234,11 +7238,6 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None,
72347238
Z = np.flipud(Z)
72357239

72367240
if xextent is None:
7237-
# define default values:
7238-
if noverlap is None:
7239-
noverlap = 128 # defined in mlab.specgram
7240-
if NFFT is None:
7241-
NFFT = 256 # defined in mlab._spectral_helper
72427241
# padding is needed for first and last segment:
72437242
pad_xextent = (NFFT-noverlap) / Fs / 2
72447243
xextent = np.min(t) - pad_xextent, np.max(t) + pad_xextent

lib/matplotlib/mlab.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1273,8 +1273,10 @@ def specgram(x, NFFT=None, Fs=None, detrend=None, window=None,
12731273
12741274
"""
12751275
if noverlap is None:
1276-
noverlap = 128
1277-
if len(x) <= (256 if NFFT is None else NFFT): # see _spectral_helper()
1276+
noverlap = 128 # default in _spectral_helper() is noverlap = 0
1277+
if NFFT is None:
1278+
NFFT = 256 # same default as in _spectral_helper()
1279+
if len(x) <= NFFT:
12781280
warnings.warn("Only one segment is calculated since parameter NFFT " +
12791281
"(=%d) >= signal length (=%d)." % (NFFT, len(x)))
12801282

0 commit comments

Comments
 (0)