how to plot the FFT of a list of values

Christian Gollwitzer auriocus at gmx.de
Sat Dec 5 17:08:45 EST 2020


Am 05.12.20 um 18:16 schrieb Boris Dorestand:
> I have 16 values of the period sequence 1, 2, 4, 8, 1, 2, 4, 8, ...  I
> compute its fourier transform using
> 
>>>> from scipy import fft, ifft
>>>> x = [1,2,4,8,1,2,4,8]
>>>> fft(x)
> array([ 30. +0.j,   0. +0.j,  -6.+12.j,   0. +0.j, -10. +0.j,   0. +0.j,
>          -6.-12.j,   0. +0.j])
> 
> Now how can I plot these values?  I would like to plot 16 values.  What
> do I need to do here?  Can you show an example?


Usually, for the FFT of real input data, you plot only the magnitude or 
square of the complex array, and usually on a logscale. So:

import pylab
import numpy as np

fx = fft(x)

pylab.semilogy(np.abs(fx))
pylab.show()



	Christian





More information about the Python-list mailing list