Я делаю plot_surface с помощью matplotlib для отображения некоторых 3d данных.Я прокручиваю массив трехмерных данных, отображающих новые данные, используя кнопку «Далее».Приблизительно после 40 прокруток я получаю ошибку рекурсии, хотя очевидная рекурсия не запрограммирована.
код для отображения данных см. Display_plot
import matplotlib.pyplot as plt
...
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
...
def display_plot(currentFrameNumber):
Z = zlines[currentFrameNumber]
ax.clear()
ax.set_zlim(0.0, 400.0)
ax.plot_surface(X, Y, Z, cmap="magma")
plt.show()
Следующая кнопка:
from matplotlib.widgets import Button
...
class Index(object):
def next(self, event):
self.__frameNumber += 1
display_plot(self.__frameNumber )
...
callback = Index()
axnext = plt.axes([0.81, 0.05, 0.09, 0.075])
bnext = Button(axnext, '>')
bnext.on_clicked(callback.next)
Я получаю эту ошибку:
RuntimeError: maximum recursion depth exceeded
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\matplotlib\cbook\__init__.py", line 387, in process
proxy(*args, **kwargs)
...
File "C:\Python27\lib\site-packages\matplotlib\__init__.py", line 949, in __getitem__
val = dict.__getitem__(self, key)
RuntimeError: maximum recursion depth exceeded in cmp
Если я удаляю команду plt.show (), я не получаю ошибку.Я новичок в Python, поэтому извиняюсь, если это очевидно.