如何固定各独立频谱图的plt.colorbar量程以实现多图横向对比
解决方法
直接在librosa.display.specshow()方法中传入vmin和vmax参数固定显示量程即可,该配置只会影响绘图显示逻辑,不会修改原始的频谱数值,低于-50dB的数值会自动映射到量程下限,完全满足需求。
修改后的代码如下:
for i in range(len(output_stfts)): S_db = librosa.amplitude_to_db(output_stfts[i], ref=np.max) plt.figure() # 新增vmin、vmax参数固定colorbar量程 librosa.display.specshow(S_db, vmin=-50, vmax=0) plt.colorbar() plt.savefig(file_name[i]) plt.close('all')
补充说明:
- 如果后续需要调整量程,直接修改
vmin和vmax的赋值即可,所有生成的图都会复用相同的规则 - colorbar会自动适配你设置的量程范围,不需要额外修改colorbar的配置
内容的提问来源于stack exchange,提问作者Oxana Verkholyak
相关产品推荐
相关产品推荐

