On 05/12/2020 23:08, Christian Gollwitzer wrote:
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

Don't use pylab.

https://matplotlib.org/api/index.html#module-pylab

Use matplotlib.pyplot directly instead. "plt" is a popular shorthand:

from matplotlib import pyplot as plt

#...

plt.semilogy(...) # or plt.plot, etc.


- Thomas


import numpy as np

fx = fft(x)

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



    Christian




--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to