【发布时间】:2018-11-05 00:36:30
【问题描述】:
我正在尝试通过频谱图绘制时频图。我想制作一个折线图(x 轴 = 时间,y 轴 = 频率)。我使用 Python 和 signal.stft 函数并得到一个频谱图。我还计算了每个时间步的最大频率值。但我无法得到答案。有什么问题?
【问题讨论】:
标签: python scipy spectrogram
我正在尝试通过频谱图绘制时频图。我想制作一个折线图(x 轴 = 时间,y 轴 = 频率)。我使用 Python 和 signal.stft 函数并得到一个频谱图。我还计算了每个时间步的最大频率值。但我无法得到答案。有什么问题?
【问题讨论】:
标签: python scipy spectrogram
如果我理解正确,您想在频谱图上绘制一条最大频率曲线吗?如果是,您可以在频谱图之后简单地调用matplotlib 的第二个绘图调用。像这样的:
f, t, Zxx = signal.stft(x, fs, nperseg=1000)
max_f = np.argmax(data, axis=1) # data has shape (time x frequency)
plt.pcolormesh(t, f, np.abs(Zxx), vmin=0, vmax=amp)
plt.plot(np.arange(max_f.shape[0]), max_f)
plt.ylabel('Frequency [Hz]')
plt.xlabel('Time [sec]')
plt.show()
【讨论】: