matable 绘制图像时域频域图
时间: 2023-10-07 11:07:52 浏览: 113
Matplotlib是Python中最流行的绘图库之一,可以用于绘制时域和频域图。以下是一个简单的例子:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一个随机信号
t = np.linspace(0, 1, 1000)
signal = np.sin(2 * np.pi * 5 * t) + np.sin(2 * np.pi * 10 * t)
# 绘制时域图
plt.subplot(2, 1, 1)
plt.plot(t, signal)
plt.xlabel('Time (s)')
plt.ylabel('Amplitude')
plt.title('Time Domain Signal')
# 计算信号的频谱
freq = np.fft.rfftfreq(len(signal), d=t[1]-t[0])
spec = np.abs(np.fft.rfft(signal))
# 绘制频域图
plt.subplot(2, 1, 2)
plt.plot(freq, spec)
plt.xlabel('Frequency (Hz)')
plt.ylabel('Magnitude')
plt.title('Frequency Domain Signal')
plt.tight_layout()
plt.show()
```
这个例子生成一个包含两个正弦波的信号,并绘制它的时域图和频域图。时域图显示信号随时间的变化,而频域图显示信号在不同频率上的强度。在频域图中,我们使用了FFT算法计算信号的频谱。
阅读全文