matplotlib.axes.Axes.xcorr#
- Axes.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
- normed布尔值,默认值:True
如果为
True
,输入向量将被归一化为单位长度。- usevlines布尔值,默认值:True
决定绘图样式。
如果为
True
,将使用Axes.vlines
从 0 到 xcorr 值绘制垂直线。此外,还将使用Axes.axhline
在 y=0 处绘制一条水平线。如果为
False
,将使用Axes.plot
在 xcorr 值处绘制标记。- maxlags整数,默认值:10
要显示的滞后数。如果为 None,将返回所有
2 * len(x) - 1
个滞后。
- 返回:
- lags数组(长度为
2*maxlags+1
) 滞后向量。
- c数组(长度为
2*maxlags+1
) 自相关向量。
- line
LineCollection
或Line2D
添加到相关性 Axes 的
Artist
。如果 usevlines 为 True,则为
LineCollection
。如果 usevlines 为 False,则为
Line2D
。
- b
Line2D
或 None 如果 usevlines 为 True,则为 0 处的水平线;如果 usevlines 为 False,则为 None。
- lags数组(长度为
- 其他参数:
- linestyle
Line2D
属性,可选 用于绘制数据点的线型。仅当 usevlines 为
False
时使用。- marker字符串,默认值:'o'
用于绘制数据点的标记。仅当 usevlines 为
False
时使用。- data可索引对象,可选
如果给定,以下参数也接受字符串
s
,如果s
是data
中的键,则将其解释为data[s]
x, y
- **kwargs
如果 usevlines 为
True
,附加参数将传递给Axes.vlines
和Axes.axhline
;否则它们将传递给Axes.plot
。
- linestyle
备注
交叉相关性是使用
numpy.correlate
并设置mode = "full"
执行的。