Matplotlib基于NumPy和备用框架构建,这就是为什么它快速高效的原因。它是开源的,具有巨大的社区支持。它具有与许多操作系统和图形后端兼容的能力。得到什么matplotlib.pyplot.xcorr()
我们需要了解Cross-Correlation吗?
交叉相关
相关系数是两个变量相对运动之间关系强度的统计量度。
例如:让我们采用两个实值函数f和g。 g在x处是沿x轴的差。现在使用交叉相关计算。
matplotlib.pyplot.xcorr()
matplotlib.pyplot.xcorr()函数绘制两个数组列表之间的交叉相关。
参数:
参数 | 输入类型 | 描述 |
---|---|---|
x | 实数或复数浮点数的向量。 | 互相关的第一个变量。 |
y | 实数或复数浮点数的向量。默认值为x。 | 互相关的第二个变量。 |
detrend | callable | x和y被可调用的下降趋势所下降。这必须是一个函数x = detrend(x)接受并返回numpy.array。这是可选参数,默认为不规范。 |
normed | bool | 如果为True,则将输入向量归一化为单位长度。 |
usevlines | bool | 如果为True,则使用轴从0到xcorr值绘制垂直线。它是一个可选参数 |
maxlags | int | 显示的滞后次数。如果为None,将返回所有2 * len(x)-1个滞后。可选参数,默认值为10。 |
返回:
参数 | 类型 | 描述 |
---|---|---|
lags | 数组(长度2 * maxlags + 1) | 滞后向量。 |
c | 数组(长度2 * maxlags + 1) | 自动相关向量。 |
line | LineCollection或Line2D | 艺术家添加到关联的轴: 1.如果usevlines为True,则为LineCollection。 2.如果usevlines为False,则为Line2D。 |
b | Line2D或无 | 如果usevlines为True,则水平线为0。usevlines为False。 |
范例1:
# import matplotlib lirary
import matplotlib.pyplot as plt
import numpy as np
# float lists for cross
# correlation
x=[11.37, 14.23, 16.3, 12.36,
6.54, 4.23, 19.11, 12.13,
19.91, 11.00]
y=[15.21, 12.23, 4.76, 9.89,
8.96, 19.26, 12.24, 11.54,
13.39, 18.96]
# Plot graph
fig = plt.figure()
ax1 = fig.add_subplot(211)
# cross correlation using
# xcorr() function
ax1.xcorr(x, y, usevlines=True,
maxlags=5, normed=True,
lw=2)
# adding grid to the graph
ax1.grid(True)
ax1.axhline(0, color='blue', lw=2)
# show final plotted graph
plt.show()
输出:
范例2:
# import matplotlib lirary
import matplotlib.pyplot as plt
import numpy as np
# float lists for cross
# correlation
x, y = np.random.randn(2, 100)
# Plot graph
fig = plt.figure()
ax1 = fig.add_subplot(211)
# cross correlation using xcorr()
# function
ax1.xcorr(x, y, usevlines=True,
maxlags=50, normed=True,
lw=2)
# adding grid to the graph
ax1.grid(True)
ax1.axhline(0, color='blue', lw=2)
# show final plotted graph
plt.show()
输出:
相关用法
注:本文由纯净天空筛选整理自RahulSabharwal大神的英文原创作品 Matplotlib.pyplot.xcorr() in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。