diff --git a/lib/matplotlib/axes/_axes.py b/lib/matplotlib/axes/_axes.py index 056d34572c6e..24ddc3c941f0 100644 --- a/lib/matplotlib/axes/_axes.py +++ b/lib/matplotlib/axes/_axes.py @@ -7200,8 +7200,12 @@ def specgram(self, x, NFFT=None, Fs=None, Fc=None, detrend=None, if not self._hold: self.cla() + if NFFT is None: + NFFT = 256 # same default as in mlab.specgram() if Fc is None: - Fc = 0 + Fc = 0 # same default as in mlab._spectral_helper() + if noverlap is None: + noverlap = 128 # same default as in mlab.specgram() if mode == 'complex': raise ValueError('Cannot plot a complex specgram') diff --git a/lib/matplotlib/mlab.py b/lib/matplotlib/mlab.py index b44e02dda961..69742b2a2aa1 100644 --- a/lib/matplotlib/mlab.py +++ b/lib/matplotlib/mlab.py @@ -1273,7 +1273,12 @@ def specgram(x, NFFT=None, Fs=None, detrend=None, window=None, """ if noverlap is None: - noverlap = 128 + noverlap = 128 # default in _spectral_helper() is noverlap = 0 + if NFFT is None: + NFFT = 256 # same default as in _spectral_helper() + if len(x) <= NFFT: + warnings.warn("Only one segment is calculated since parameter NFFT " + + "(=%d) >= signal length (=%d)." % (NFFT, len(x))) spec, freqs, t = _spectral_helper(x=x, y=None, NFFT=NFFT, Fs=Fs, detrend_func=detrend, window=window,