Это первый раз, когда я использую matplotlib и numpy.
Здесь возникает проблема:
Если я перейду к python cli, предполагаемый код работает нормально.Вот этот код
>>> from numpy import *
>>> y = array([1,2])
>>> y = append(y, y[len(y) - 1]+1)
>>> y
array([1, 2, 3])
Но если я использую его с matplotlib в скрипте, я получаю эту ошибку.
line 26, in onkeypress
y = append(y, y[len(y) - 1]+1)
UnboundLocalError: local variable 'y' referenced before assignment
Вот мой скрипт:
from matplotlib.pyplot import figure, show
from numpy import *
figzoom = figure()
axzoom = figzoom.add_subplot(111, xlim=(0,10), ylim=(0, 10),autoscale_on=True)
x = array([1, 2 ])
y = array([1, 10 ])
def onkeypress(event):
if event.key == "up":
y = append(y, y[len(y) - 1]+1)
x = append(x, x[len(x) - 1] )
axzoom.plot(x,y)
Я попытался «добавить» другой массив, скажем, y1, а затем y = y1.copy ().Но я все еще получаю ту же ошибку.Должно быть, я упускаю что-то тривиальное здесь ??? !!!