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.
- lagsarray (length
- 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
.- dataindexable object, optional
If given, the following parameters also accept a string
s
, which is interpreted asdata[s]
(unless this raises an exception):x, y
- **kwargs
Additional parameters are passed to
Axes.vlines
andAxes.axhline
if usevlines isTrue
; otherwise they are passed toAxes.plot
.
- linestyle
Notes
The cross correlation is performed with
numpy.correlate
withmode = "full"
.