python画时频图
时间: 2023-08-15 21:14:50 浏览: 431
python-cwt时频图绘制
要使用Python绘制时频图,你可以使用一些常见的科学计算库,如NumPy和Matplotlib。下面是一个简单的示例代码,演示如何使用短时傅里叶变换(STFT)绘制时频图:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import stft
# 生成信号
t = np.linspace(0, 1, 1000)
f = 10 # 频率为10Hz
x = np.sin(2 * np.pi * f * t)
# 计算短时傅里叶变换
frequencies, times, Zxx = stft(x, fs=1000)
# 绘制时频图
plt.pcolormesh(times, frequencies, np.abs(Zxx), shading='auto')
plt.colorbar(label='Amplitude')
plt.title('Spectrogram')
plt.xlabel('Time [s]')
plt.ylabel('Frequency [Hz]')
plt.show()
```
以上代码使用`np.sin`生成了一个频率为10Hz的简单正弦波信号。然后通过`stft`函数计算了短时傅里叶变换,得到频率、时间和幅度谱的数据。最后,使用`plt.pcolormesh`绘制了时频图。
你可以根据自己的需求修改代码中的信号和参数,以及自定义图表样式。
阅读全文