📜  Python中的 Matplotlib.pyplot.xcorr()(1)

📅  最后修改于: 2023-12-03 15:04:32.878000             🧑  作者: Mango

Python中的 Matplotlib.pyplot.xcorr()

简介

Matplotlib.pyplot.xcorr() 是 Matplotlib 库中的一个函数,用于计算和绘制序列之间的标准和相交小差的相关性。

函数语法

Matplotlib.pyplot.xcorr(x, y, normed=True, detrend=matplotlib.mlab.detrend_none, usevlines=True, maxlags=None, hold=None, data=None, **kwargs)

参数说明:

  • x:第一个序列
  • y:第二个序列
  • normed:是否对相关性进行归一化处理。默认为 True
  • detrend:指定数据预处理方法。默认不进行预处理
  • usevlines:是否在图形中绘制垂直分隔线。默认为 True
  • maxlags:最大滞后阶数。默认为 len(x) - 1
  • hold:是否在当前子图中保持之前的线条。默认为 None,表示不保持
  • data:指定数据输入的方式。默认为 None
  • **kwargs:其他可选关键字参数,如 linestylemarker 等等
返回值

Matplotlib.pyplot.xcorr() 返回四个值:

  • lags:计算的滞后阶数
  • ccofs:计算的相交小差
  • linecoll:相关性曲线的集合
  • bline:基线的相关性
例子

下面是一个简单的例子,演示如何使用 Matplotlib.pyplot.xcorr() 函数计算和绘制两个序列的相关性。

import numpy as np
import matplotlib.pyplot as plt

# 创建两个序列
x = np.random.randn(1000)
y = np.random.randn(1000)

# 计算相关性
lags, ccofs, _, _ = plt.xcorr(x, y, maxlags=50, normed=True)

# 绘制相关性曲线
plt.stem(lags, ccofs)
plt.xlabel('Lag')
plt.ylabel('Correlation')
plt.title('Autocorrelation between x and y')
plt.show()

结果:

xcorr-example.png

参考