微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何修复:MatplotlibDeprecationWarning: shading='flat' 当 X 和 Y 具有与 C 相同的维度时,自 3.3 起已弃用

如何解决如何修复:MatplotlibDeprecationWarning: shading='flat' 当 X 和 Y 具有与 C 相同的维度时,自 3.3 起已弃用

我是 Python 编程的新手,但在尝试从 RAVDESS 数据集 wav 文件绘制频谱图时,我一直在与这些错误作斗争。这是代码

`for file in range(0,len(listofFiles),1):
    windows_size = 20
    sample_rate,samples = wavfile.read(listofFiles[file])
    nperseg = int(round(20 * sample_rate / 1e3))   
    frequencies,times,spectrogram = signal.spectrogram(samples,sample_rate) 
    plt.pcolormesh(times,frequencies,spectrogram)
    plt.imshow(spectrogram)
    plt.ylabel('Frequency [Hz]')
    plt.xlabel('Time [sec]')
    plt.show()`

这里是错误

<ipython-input-16-dc119f345487>:14: WavFileWarning: Chunk (non-data) not understood,skipping it.
  sample_rate,samples = wavfile.read(listofFiles[file])
<ipython-input-16-dc119f345487>:14: WavFileWarning: Incomplete chunk ID: b'\x00',ignoring it.
  sample_rate,samples = wavfile.read(listofFiles[file])
<ipython-input-16-dc119f345487>:17: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3.  Either specify the corners of the quadrilaterals with X and Y,or pass shading='auto','nearest' or 'gouraud',or set rcParams['pcolor.shading'].  This will become an error two minor releases later.
  plt.pcolormesh(times,spectrogram)

抱歉,我无法更好地解释错误,但我对此很陌生,任何帮助都会很棒。

解决方法

添加 shading='auto' 将解决此问题。

所以代码应该是 plt.pcolormesh(times,frequencies,spectrogram,shading='auto' )

,

我解决了更改 rcparams 的问题:plt.rcParams['pcolor.shading'] ='nearest'。 希望这会对某人有所帮助。

,

添加 shading='auto' 将解决此问题。

所以代码应该是

plt.pcolormesh(times,shading='auto' )

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。