matplotlib.pyplot.xcorr#
- matplotlib.pyplot.xcorr(x, y, *, normed=True, detrend=<function detrend_none>, usevlines=True, maxlags=10, data=None, **kwargs)[源代码][源代码]#
绘制 x 和 y 之间的互相关。
滞后 k 的相关性定义为 \(\sum_n x[n+k] \cdot y^*[n]\),其中 \(y^*\) 是 \(y\) 的复共轭。
- 参数:
- x, y长度为 n 的类数组
x 和 y 都不会经过 Matplotlib 的单位转换,因此这些应该是无单位的数组。
- detrend : 可调用对象, 默认:
mlab.detrend_none
(不进行去趋势处理)可调用对象,默认: 应用于 x 和 y 的去趋势函数。它必须具有以下签名
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 :
LineCollection
或Line2D
LineCollection 或 Line2D Artist
添加到相关性的 Axes 中:LineCollection
如果 usevlines 为 True。Line2D
如果 usevlines 为 False。
- b :
Line2D
或 NoneLine2D 或 None 如果 usevlines 为 True,则在 0 处绘制水平线;如果 usevlines 为 False,则不绘制。
- 滞后 : 数组 (长度
- 其他参数:
- linestyle :
Line2D
属性, 可选Line2D 属性,可选 绘制数据点的线条样式。仅在 usevlines 为
False
时使用。- 标记str, 默认值: 'o'
用于绘制数据点的标记。仅在 usevlines 为
False
时使用。- 数据可索引对象,可选
如果提供,以下参数还接受一个字符串
s
,如果s
是data
中的一个键,则解释为data[s]
:x, y
- **kwargs
如果 usevlines 为
True
,则附加参数传递给Axes.vlines
和Axes.axhline
;否则传递给Axes.plot
。
- linestyle :
注释
备注
这是
axes.Axes.xcorr
的 pyplot 包装器。交叉相关使用
numpy.correlate
进行,模式为mode = "full"
。