Объект PathCollection не имеет атрибута do_3d_projection в методе рисования фигур Kivy Matplotlib () - PullRequest
0 голосов
/ 15 октября 2018

Я создаю графический интерфейс пользователя для своего проекта и иногда сталкиваюсь с этим исключением после очистки и перерисовки графического холста.Он гласит: _AttributeError: у объекта 'PathCollection' нет атрибута 'do_3d_projection' _

Следующее исключение:

Файл "C: \ Users (имя пользователя) \ AppData \Local \ Programs \ Python \ Python36 \ lib \ site-packages \ kivy \ garden \ matplotlib \ backend_kivy.py ", строка 1234, в _on_size_changed self.resize_event ()

Файл" C: \ Users (имя пользователя)\ AppData \ Roaming \ Python \ Python36 \ site-packages \ matplotlib \ backend_bases.py ", строка 1695, в resize_event self.draw_idle ()

Файл" C: \ Users (имя пользователя) \ AppData \ Roaming \Python \ Python36 \ site-packages \ matplotlib \ backend_bases.py ", строка 1899, в draw_idle self.draw (* args, ** kwargs)

Файл" C: \ Users (имя пользователя) \ AppData \ Local\ Programs \ Python \ Python36 \ lib \ site-packages \ kivy \ garden \ matplotlib \ backend_kivyagg.py ", строка 184, в рисовании FigureCanvasAgg.draw (self)

Файл" C: \ Users (имя пользователя)\ AppData \ Roaming \ Python \ Python36 \ site-packages \ matplotlib \ backends \ backend_agg.py ", строка 402, в рисовании self.figure.draw (self.renderer)

Файл "C: \ Users (имя пользователя) \ AppData \ Roaming \ Python \ Python36 \ site-packages \ matplotlib \ artist.py", строка 50, в draw_wrapper возвращает изображение (Artist, Renderer,* args, ** kwargs)

Файл "C: \ Users (имя пользователя) \ AppData \ Roaming \ Python \ Python36 \ site-packages \ matplotlib \ figure.py", строка 1652, в программе визуализации Draw, self, исполнители, self.suppressComposite)

Файл "C: \ Users (имя пользователя) \ AppData \ Roaming \ Python \ Python36 \ site-packages \ matplotlib \ image.py", строка 138, в _draw_list_compositing_images a.draw(средство визуализации)

Файл "C: \ Users (имя пользователя) \ AppData \ Roaming \ Python \ Python36 \ site-packages \ matplotlib \ artist.py", строка 50, в draw_wrapper возвращает изображение (исполнитель, средство визуализации,* args, ** kwargs)

Файл "C: \ Users (имя пользователя) \ AppData \ Roaming \ Python \ Python36 \ site-packages \ mpl_toolkits \ mplot3d \ axes3d.py", строка 282, в обратном порядке отрисовки= True)):

Файл "C: \ Users (имя пользователя) \ AppData \ Roaming \ Python \ Python36 \ site-packages \ mpl_toolkits \ mplot3d \ axes3d.py", строка 281, в ключе = lambda col:col.do_3d_projection (renderer),

class Plotvars:
    fig = Figure()
    ax = Axes3D(fig)
    ax.set_xlabel('X-axis')
    ax.set_ylabel('Y-axis')
    ax.set_zlabel('Z-axis')
    plot_canvas = FigureCanvasKivyAgg(figure=fig)
    scatter_path = None

def graph_callback(pv_inst, instance_mat, instance):

    x = [i[3] for i in instance_mat]
    y = [i[4] for i in instance_mat]
    z = [i[5] for i in instance_mat]
    pv_inst.scatter_path = pv_inst.ax.scatter(x, z, y)
    pv_inst.plot_canvas.draw()

Идея моей программы использовать модуль Leap Motion, который я создал для вызова функции обратного вызова "graph_callback", когда сбор данных завершится.Чтобы обновить свойства других виджетов, такие как размер и цвет, я должен использовать метод clear_widgets (), а затем повторно добавить другие виджеты, включая холст matplotlib.Любое понимание того, что может быть причиной этого?Я пытался найти подобные проблемы в Интернете, но не смог найти ни одного с применимыми решениями.Я использую Kivy 1.10.0 и matplotlib 3.0.0 с Kivy Garden.Я новичок, поэтому я был бы очень признателен за отзыв о том, как я подхожу к этой проблеме.Спасибо.

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