Hier ist mein Code:Erstes List-Objekt ist nicht aufrufbar Fehler auf Python 2.7, matplotlib
import numpy, math, time
from matplotlib import pyplot
def parse_FFT_hex(string):
invert_arrays = True
num_bits = 12
numpy.array = []
overflow = False
ch_0_re = []; ch_0_im = []; ch_1_re = []; ch_1_im = []
for i in range(0,len(string), 32):
# if any number is greater than 2045 return 'False'
ch_0_re_num = int(string[i+30] + string[i+31] + string[i+28], 16)
if ch_0_re_num > (2**(num_bits-1)): ch_0_re_num = ch_0_re_num - (2**num_bits)
ch_0_im_num = int(string[i+29] + string[i+26] + string[i+27], 16)
if ch_0_im_num > (2**(num_bits-1)): ch_0_im_num = ch_0_im_num - (2**num_bits)
ch_1_re_num = int(string[i+22] + string[i+23] + string[i+20], 16)
if ch_1_re_num > (2**(num_bits-1)): ch_1_re_num = ch_1_re_num - (2**num_bits)
ch_1_im_num = int(string[i+21] + string[i+18] + string[i+19], 16)
if ch_1_im_num > (2**(num_bits-1)): ch_1_im_num = ch_1_im_num - (2**num_bits)
if abs(ch_0_re_num) > 2045 or abs(ch_0_im_num) > 2045 or abs(ch_1_re_num) > 2045 or abs(ch_1_im_num) > 2045: overflow = True
ch_0_re.append(ch_0_re_num); ch_0_im.append(ch_0_im_num); ch_1_re.append(ch_1_re_num); ch_1_im.append(ch_1_im_num)
ch_0_re_num = int(string[i+14] + string[i+15] + string[i+12], 16)
if ch_0_re_num > (2**(num_bits-1)): ch_0_re_num = ch_0_re_num - (2**num_bits)
ch_0_im_num = int(string[i+13] + string[i+10] + string[i+11], 16)
if ch_0_im_num > (2**(num_bits-1)): ch_0_im_num = ch_0_im_num - (2**num_bits)
ch_1_re_num = int(string[i+6] + string[i+7] + string[i+4], 16)
if ch_1_re_num > (2**(num_bits-1)): ch_1_re_num = ch_1_re_num - (2**num_bits)
ch_1_im_num = int(string[i+5] + string[i+2] + string[i+3], 16)
if ch_1_im_num > (2**(num_bits-1)): ch_1_im_num = ch_1_im_num - (2**num_bits)
if abs(ch_0_re_num) > 2045 or abs(ch_0_im_num) > 2045 or abs(ch_1_re_num) > 2045 or abs(ch_1_im_num) > 2045: overflow = True
ch_0_re.append(ch_0_re_num); ch_0_im.append(ch_0_im_num); ch_1_re.append(ch_1_re_num); ch_1_im.append(ch_1_im_num)
if invert_arrays:
temp = ch_0_re
ch_0_re = ch_0_im
ch_0_im = temp
temp = ch_1_re
ch_1_re = ch_1_im
ch_1_im = temp
ch_0 = 0.0; ch_1 = 0.0
for i in range(len(ch_0_re)):
ch_0 += (ch_0_re[i]**2) + (ch_0_im[i]**2)
ch_1 += (ch_1_re[i]**2) + (ch_1_im[i]**2)
ch_0_pow = 10 * math.log10((ch_0/len(ch_0_re))/(2**22))
ch_1_pow = 10 * math.log10((ch_1/len(ch_1_re))/(2**22))
return [ch_0_pow, ch_1_pow, overflow]
powers = parse_FFT_hex(hex_string)
print powers
pyplot.figure()
pyplot.plot(powers[0], powers[1])
des Lauf gibt mir:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 714, in runfile
execfile(filename, namespace)
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile
exec(compile(scripttext, filename, 'exec'), glob, loc)
File "C:/Users/salzda/Documents/Python Scripts/untitled1.py", line 82, in <module>
pyplot.figure()
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 527, in figure
**kwargs)
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt4agg.py", line 45, in new_figure_manager
thisFig = FigureClass(*args, **kwargs)
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\figure.py", line 325, in __init__
self.dpi = dpi
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\figure.py", line 410, in _set_dpi
self.dpi_scale_trans.clear().scale(dpi, dpi)
File "C:\Users\salzda\AppData\Local\Continuum\Anaconda2\lib\site-packages\matplotlib\transforms.py", line 1965, in scale
np.float_)
TypeError: 'list' object is not callable
Auch wenn die Liste druckt fein und gibt mir die Werte Ich will, aus irgendeinem Grund kann es danach nichts tun.
Auf welcher Zeile ist der Fehler? Ich sehe Matplotlib hier nicht. –
Was ist 'pyplot.figure'? Ist es eine Methode oder eine Liste? – Will
@Will es ist eine Funktion, die eine Figur zum Plotten auf – dasalz1