matplotlib.pyplot.xcorr#

matplotlib.pyplot.xcorr(x, y, *, normed=True, detrend=<function detrend_none>, usevlines=True, maxlags=10, data=None, **kwargs)[源代码][源代码]#

绘制 xy 之间的互相关。

滞后 k 的相关性定义为 \(\sum_n x[n+k] \cdot y^*[n]\),其中 \(y^*\)\(y\) 的复共轭。

参数:
x, y长度为 n 的类数组

xy 都不会经过 Matplotlib 的单位转换,因此这些应该是无单位的数组。

detrend : 可调用对象, 默认: mlab.detrend_none (不进行去趋势处理)可调用对象,默认:

应用于 xy 的去趋势函数。它必须具有以下签名

detrend(x: np.ndarray) -> np.ndarray
标准化bool, 默认值: True

如果 True ,输入向量将被归一化为单位长度。

usevlinesbool, 默认值: True

确定绘图样式。

如果 True,垂直线将从 0 绘制到 xcorr 值,使用 Axes.vlines。此外,使用 Axes.axhline 在 y=0 处绘制一条水平线。

如果 False,标记将使用 Axes.plot 绘制在 xcorr 值上。

maxlagsint, 默认值: 10

显示的滞后数。如果为 None,将返回所有 2 * len(x) - 1 个滞后。

返回:
滞后 : 数组 (长度 2*maxlags+1)数组 (长度)

滞后向量。

c : 数组 (长度 2*maxlags+1)数组 (长度)

自相关向量。

line : LineCollectionLine2DLineCollection 或 Line2D

Artist 添加到相关性的 Axes 中:

b : Line2D 或 NoneLine2D 或 None

如果 usevlines 为 True,则在 0 处绘制水平线;如果 usevlines 为 False,则不绘制。

其他参数:
linestyle : Line2D 属性, 可选Line2D 属性,可选

绘制数据点的线条样式。仅在 usevlinesFalse 时使用。

标记str, 默认值: 'o'

用于绘制数据点的标记。仅在 usevlinesFalse 时使用。

数据可索引对象,可选

如果提供,以下参数还接受一个字符串 s,如果 sdata 中的一个键,则解释为 data[s]

x, y

**kwargs

如果 usevlinesTrue,则附加参数传递给 Axes.vlinesAxes.axhline;否则传递给 Axes.plot

注释

备注

这是 axes.Axes.xcorrpyplot 包装器

交叉相关使用 numpy.correlate 进行,模式为 mode = "full"

使用 matplotlib.pyplot.xcorr 的示例#

交叉相关和自相关

Cross- and auto-correlation