matplotlib.mlab.specgram(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, mode=None)[source]
 
Compute a spectrogram. Compute and plot a spectrogram of data in x. Data are split into NFFT length segments and the spectrum of each section is computed. The windowing function window is applied to each segment, and the amount of overlap of each segment is specified with noverlap.  Parameters 
 
xarray-like


1-D array or sequence.  
Fsfloat, default: 2


The sampling frequency (samples per time unit). It is used to calculate the Fourier frequencies, freqs, in cycles per time unit.  
windowcallable or ndarray, default: window_hanning


A function or a vector of length NFFT. To create window vectors see window_hanning, window_none, numpy.blackman, numpy.hamming, numpy.bartlett, scipy.signal, scipy.signal.get_window, etc. If a function is passed as the argument, it must take a data segment as an argument and return the windowed version of the segment.  
sides{'default', 'onesided', 'twosided'}, optional


Which sides of the spectrum to return. 'default' is one-sided for real data and two-sided for complex data. 'onesided' forces the return of a one-sided spectrum, while 'twosided' forces two-sided.  
pad_toint, optional


The number of points to which the data segment is padded when performing the FFT. This can be different from NFFT, which specifies the number of data points used. While not increasing the actual resolution of the spectrum (the minimum distance between resolvable peaks), this can give more points in the plot, allowing for more detail. This corresponds to the n parameter in the call to fft(). The default is None, which sets pad_to equal to NFFT  
NFFTint, default: 256


The number of data points used in each block for the FFT. A power 2 is most efficient. This should NOT be used to get zero padding, or the scaling of the result will be incorrect; use pad_to for this instead.  
detrend{'none', 'mean', 'linear'} or callable, default: 'none'


The function applied to each segment before fft-ing, designed to remove the mean or linear trend. Unlike in MATLAB, where the detrend parameter is a vector, in Matplotlib it is a function. The mlab module defines detrend_none, detrend_mean, and detrend_linear, but you can use a custom function as well. You can also use a string to choose one of the functions: 'none' calls detrend_none. 'mean' calls detrend_mean. 'linear' calls detrend_linear.  
scale_by_freqbool, default: True


Whether the resulting density values should be scaled by the scaling frequency, which gives density in units of Hz^-1. This allows for integration over the returned frequency values. The default is True for MATLAB compatibility.  
noverlapint, default: 128


The number of points of overlap between blocks.  
modestr, default: 'psd'


 What sort of spectrum to use:

 'psd'

Returns the power spectral density.  'complex'

Returns the complex-valued frequency spectrum.  'magnitude'

Returns the magnitude spectrum.  'angle'

Returns the phase spectrum without unwrapping.  'phase'

Returns the phase spectrum with unwrapping.        Returns 
 
spectrumarray-like


2D array, columns are the periodograms of successive segments.  
freqsarray-like


1-D array, frequencies corresponding to the rows in spectrum.  
tarray-like


1-D array, the times corresponding to midpoints of segments (i.e the columns in spectrum).      See also  psd

differs in the overlap and in the return values.  complex_spectrum

similar, but with complex valued frequencies.  magnitude_spectrum

similar single segment when mode is 'magnitude'.  angle_spectrum

similar to single segment when mode is 'angle'.  phase_spectrum

similar to single segment when mode is 'phase'.    Notes detrend and scale_by_freq only apply when mode is set to 'psd'.