Bas*_*asj 2 python plot matplotlib spectrogram
如何用Python绘制A[i,j]这样的2D矩阵:
i 是x轴j 是y轴A[i,j] 是一个0到100之间的值,必须用颜色绘制(例如:0 =蓝色,100 =红色)有没有Python功能?
(注:我不想,做频谱对我来说,如函数specgram,因为我想计算自己的信号的FFT,因此我只需要绘出一个矩阵颜色的功能)

让我们Z成为阵列,这是我最终使用的:
plt.imshow(np.transpose(Z), extent=[0,4.2,0,48000], cmap='jet',
vmin=-100, vmax=0, origin='lowest', aspect='auto')
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)
笔记:
设置origin='lowest'具有比替换相同的效果np.transpose(Z)由np.transpose(Z)[::-1,]
vmin,vmax给出比例(这里示例中从0到-100 dB)
extent 给出了x轴(这里是0到4.2秒)和y轴(0到48000 Hz)的极限(在这个例子中,我绘制了一个4.2秒的样本率96Khz的音频文件的频谱图)
如果aspect='auto'没有设置,情节将非常薄和非常高(由于4.2对48000!)
| 归档时间: |
|
| 查看次数: |
5767 次 |
| 最近记录: |