📜  Python中的 Matplotlib.axes.Axes.csd()

📅  最后修改于: 2022-05-13 01:55:05.283000             🧑  作者: Mango

Python中的 Matplotlib.axes.Axes.csd()

Matplotlib是Python中的一个库,它是 NumPy 库的数值数学扩展。 Axes 类包含大部分图形元素:Axis、Tick、Line2D、Text、Polygon 等,并设置坐标系。 Axes 的实例通过回调属性支持回调。

matplotlib.axes.Axes.csd()函数

matplotlib 库的 axes 模块中的Axes.csd()函数用于绘制交叉光谱密度。

下面的示例说明了 matplotlib.axes 中的 matplotlib.axes.Axes.csd()函数:

示例 1:

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
  
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t))
nse2 = np.random.randn(len(t))
  
s1 = 1.5 * np.sin(2 * np.pi * 10 * t) + nse1
s2 = np.cos(np.pi * t) + nse2
  
fig, ax1 = plt.subplots()
ax1.csd(s1, s2**2, 128, 1./dt)
ax1.set_xlabel('Frequency')
ax1.set_ylabel('CSD(db)')
  
ax1.set_title('matplotlib.axes.Axes.csd() Example')
plt.show()

输出:

示例 2:

# Implementation of matplotlib function
import numpy as np
import matplotlib.pyplot as plt
   
dt = 0.01
t = np.arange(0, 30, dt)
nse1 = np.random.randn(len(t))
nse2 = np.random.randn(len(t))
r = np.exp(-t / 0.05)
   
cnse1 = np.convolve(nse1, r, mode ='same')*dt
cnse2 = np.convolve(nse2, r, mode ='same')*dt
   
s1 = 1.5 * np.sin(2 * np.pi * 10 * t) + cnse1
s2 = np.cos(np.pi * t) + cnse2 + np.sin(2 * np.pi * 10 * t)
   
fig, [ax1, ax2] = plt.subplots(2, 1)
ax1.plot(t, s1, t, s2)
ax1.set_xlim(0, 5)
ax1.set_ylabel('s1 and s2')
ax1.grid(True)
   
ax2.csd(s1, s2, 256, 1./dt)
ax2.set_ylabel('CSD(db)')
ax2.set_xlabel('Frequency')
   
ax1.set_title('matplotlib.axes.Axes.csd() Example')
plt.show()

输出: