Axes.
psd
(x, NFFT=None, Fs=None, Fc=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None, return_line=None, **kwargs)¶Plot the power spectral density.
Call signature:
psd(x, NFFT=256, Fs=2, Fc=0, detrend=mlab.detrend_none,
window=mlab.window_hanning, noverlap=0, pad_to=None,
sides='default', scale_by_freq=None, return_line=None, **kwargs)
The power spectral density by Welch’s average periodogram method. The vector x is divided into NFFT length segments. Each segment is detrended by function detrend and windowed by function window. noverlap gives the length of the overlap between segments. The of each segment are averaged to compute , with a scaling to correct for power loss due to windowing.
If len(x) < NFFT, it will be zero padded to NFFT.
- x: 1-D array or sequence
- Array or sequence containing the data
Keyword arguments:
- Fs: scalar
- The sampling frequency (samples per time unit). It is used to calculate the Fourier frequencies, freqs, in cycles per time unit. The default value is 2.
- window: callable or ndarray
- 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. The default iswindow_hanning()
. 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’ ]
- Specifies which sides of the spectrum to return. Default gives the default behavior, which returns one-sided for real data and both for complex data. ‘onesided’ forces the return of a one-sided spectrum, while ‘twosided’ forces two-sided.
callable
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 is it a function. The pylab
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. ‘default’, ‘constant’, and ‘mean’ call
detrend_mean()
. ‘linear’ calls
detrend_linear()
. ‘none’ calls
detrend_none()
.
Specifies 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.
If return_line is False, returns the tuple (Pxx, freqs). If return_line is True, returns the tuple (Pxx, freqs. line):
- Pxx: 1-D array
- The values for the power spectrum
P_{xx}
before scaling (real valued)- freqs: 1-D array
- The frequencies corresponding to the elements in Pxx
- line: a
Line2D
instance- The line created by this function. Only returend if return_line is True.
For plotting, the power is plotted as for decibels, though Pxx itself is returned.
kwargs control the Line2D
properties:
Property Description agg_filter
unknown alpha
float (0.0 transparent through 1.0 opaque) animated
[True | False] antialiased
or aa[True | False] axes
an Axes
instancebottom_margin
unknown clip_box
a matplotlib.transforms.Bbox
instanceclip_on
[True | False] clip_path
[ ( Path
,Transform
) |Patch
| None ]color
or cany matplotlib color contains
a callable function dash_capstyle
[‘butt’ | ‘round’ | ‘projecting’] dash_joinstyle
[‘miter’ | ‘round’ | ‘bevel’] dashes
sequence of on/off ink in points drawstyle
[‘default’ | ‘steps’ | ‘steps-pre’ | ‘steps-mid’ | ‘steps-post’] figure
a matplotlib.figure.Figure
instancefillstyle
[‘full’ | ‘left’ | ‘right’ | ‘bottom’ | ‘top’ | ‘none’] gid
an id string label
string or anything printable with ‘%s’ conversion. left_margin
unknown linestyle
or ls[‘solid’ | ‘dashed’, ‘dashdot’, ‘dotted’ | (offset, on-off-dash-seq) | '-'
|'--'
|'-.'
|':'
|'None'
|' '
|''
]linewidth
or lwfloat value in points margins
unknown marker
A valid marker style
markeredgecolor
or mecany matplotlib color markeredgewidth
or mewfloat value in points markerfacecolor
or mfcany matplotlib color markerfacecoloralt
or mfcaltany matplotlib color markersize
or msfloat markevery
[None | int | length-2 tuple of int | slice | list/array of int | float | length-2 tuple of float] path_effects
unknown picker
float distance in points or callable pick function fn(artist, event)
pickradius
float distance in points rasterized
[True | False | None] right_margin
unknown sketch_params
unknown snap
unknown solid_capstyle
[‘butt’ | ‘round’ | ‘projecting’] solid_joinstyle
[‘miter’ | ‘round’ | ‘bevel’] top_margin
unknown transform
a matplotlib.transforms.Transform
instanceurl
a url string visible
[True | False] xdata
1D array ydata
1D array zorder
any number
Example:
(Source code, png, pdf)
See also
specgram()
specgram()
differs in the default overlap; in not
returning the mean of the segment periodograms; in returning
the times of the segments; and in plotting a colormap instead
of a line.magnitude_spectrum()
magnitude_spectrum()
plots the magnitude spectrum.csd()
csd()
plots the spectral density between two signals.Notes
In addition to the above described arguments, this function can take a data keyword argument. If such a data argument is given, the following arguments are replaced by data[<arg>]: