Plylab/MatPlotLib绘图未正确显示数据

2024-09-21 05:36:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在遵循一个教程来学习fft,虽然我有详细的代码,从我的机器上的绘图不看它应该如何。我记录数据,以确保我有一个近似正弦波超过5292个样本。然而,当我用show()运行绘图时,我得到了以下图像:(顺便问一下,是否有一个降价属性来缩小这些图像?)你知道吗

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的新手,因此非常感谢您的帮助。你知道吗


Tags: 代码from图像importfft机器绘图show
1条回答
网友
1楼 · 发布于 2024-09-21 05:36:25

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

在深入查看timeArray列表之前,您可能需要先将sampFreq强制转换为一个float,看看这是否有帮助。你知道吗

作为该问题的一个示例,在python shell中可以尝试:

>>> 3/4

以及

>>> 3/4.0

相关问题 更多 >

    热门问题