Plylab / MatPlotLib图未正确显示数据

时间:2016-09-05 02:35:50

标签: python matplotlib

我一直在学习有关fft的教程,虽然我有代码verbatum,但我机器上的情节看起来不应该如何。我记录数据以确保我有超过5292个样本的近似正弦波。然而,当我使用show()运行绘图时,我得到以下图像:(顺便说一句,是否有降价attr使这些图像更小?)

pyplot

同样,这是从后续代码中生成的:

from pylab import *
from scipy.io import wavfile


sampFreq, snd = wavfile.read('440_sine.wav')

snd = snd / (2.**15)

s1 = snd[:,0]

timeArray = arange(0, 5292, 1)
timeArray = timeArray / sampFreq
timeArray = timeArray * 1000  #scale to milliseconds


plot(timeArray, s1, color='k')
ylabel('Amplitude')
xlabel('Time (ms)')


for i in s1:
    print i

show()

简而言之,我正在学习fft,而且我是python / matplotlib的新手,所以任何帮助都会提前得到很高的评价。

1 个答案:

答案 0 :(得分:0)

sampFreq的价值是多少?你的timeArray是一个整数列表,我假设sampFreq也返回一个整数。如果sampFreq大于timeArray中的值,则所有结果值将为0,因为整数除法。

在浏览sampFreq列表之前,您可能希望先将timeArray转换为浮点数,然后查看是否有帮助。

作为问题的一个例子,在python shell中尝试:

>>> 3/4

>>> 3/4.0