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