Python Matlotpib получить ошибку рекурсии при многократном отображении поверхности - PullRequest
0 голосов
/ 20 сентября 2019

Я делаю 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, поэтому извиняюсь, если это очевидно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...