matplotlib.axes.Axes.xcorr#
- Axes.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) - 1lags.
- Returns:
- lagsarray (length
2*maxlags+1) The lag vector.
- carray (length
2*maxlags+1) The auto correlation vector.
- line
LineCollectionorLine2D Artistadded to the Axes of the correlation:LineCollectionif usevlines is True.Line2Dif usevlines is False.
- b
Line2Dor None Horizontal line at 0 if usevlines is True None usevlines is False.
- lagsarray (length
- Other Parameters:
- linestyle
Line2Dproperty, 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.vlinesandAxes.axhlineif usevlines isTrue; otherwise they are passed toAxes.plot.
- linestyle
Notes
The cross correlation is performed with
numpy.correlatewithmode = "full".
Examples using matplotlib.axes.Axes.xcorr#
Cross- and Auto-Correlation Demo