matplotlib.pyplot.xcorr¶
-
matplotlib.pyplot.
xcorr
(x, y, normed=True, detrend=<function detrend_none>, usevlines=True, maxlags=10, *, data=None, **kwargs)[source]¶ Plot the cross correlation between x and y.
The correlation with lag k is defined as \(\sum_n x[n+k] \cdot y^*[n]\), where \(y^*\) is the complex conjugate of \(y\).
Parameters: - x, yarray-like of length n
- detrendcallable, default:
mlab.detrend_none
(no detrending) A detrending function applied to x and y. It must have the signature
detrend(x: np.ndarray) -> np.ndarray
- normedbool, default: True
If
True
, input vectors are normalised to unit length.- usevlinesbool, default: True
Determines the plot style.
If
True
, vertical lines are plotted from 0 to the xcorr value usingAxes.vlines
. Additionally, a horizontal line is plotted at y=0 usingAxes.axhline
.If
False
, markers are plotted at the xcorr values usingAxes.plot
.- maxlagsint, default: 10
Number of lags to show. If None, will return all
2 * len(x) - 1
lags.
Returns: - lagsarray (length
2*maxlags+1
) The lag vector.
- carray (length
2*maxlags+1
) The auto correlation vector.
- line
LineCollection
orLine2D
Artist
added to the axes of the correlation:LineCollection
if usevlines is True.Line2D
if usevlines is False.
- b
Line2D
or None Horizontal line at 0 if usevlines is True None usevlines is False.
Other Parameters: - linestyle
Line2D
property, optional The linestyle for plotting the data points. Only used if usevlines is
False
.- markerstr, default: 'o'
The marker for plotting the data points. Only used if usevlines is
False
.- **kwargs
Additional parameters are passed to
Axes.vlines
andAxes.axhline
if usevlines isTrue
; otherwise they are passed toAxes.plot
.
Notes
The cross correlation is performed with
numpy.correlate
withmode = "full"
.Note
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 can also be string
s
, which is interpreted asdata[s]
(unless this raises an exception): x, y.Objects passed as data must support item access (
data[s]
) and membership test (s in data
).