我一直试图在matplotlib图中显示一些数据,而且我遇到的问题看起来很意外。我原本试图绘制大量数据点(~500000)并且正在获取
OverflowError: Agg rendering complexity exceeded. Consider downsampling or decimating your data.
所以,我做到了。我使用signal.decimate函数和使用切片表示法来抽取数据。这些都没有解决我的问题,即使在尝试仅绘制60个数据点时,我仍然会发现复杂性超出错误。我试图确定我的电脑是否有一些不好的设置,但我完全有能力在没有打嗝的情况下直线绘制500000点。我将添加一些示例代码,也许有人可以帮助我发现我的方式错误。
import scikits.audiolab as audiolab
if __name__ == "__main__":
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import freqz
sound = audiolab.sndfile('exampleFile.wav', 'read')
sound_info = sound.read_frames(sound.get_nframes())
sound.close()
nsamples = sound_info.size
t = np.linspace(0, 5, nsamples, endpoint=False)
plt.figure()
plt.plot(t, sound_info, label='Filtered signal (600 Hz)')
plt.show()