Как заставить MPL_plot VisPy работать

Я относительно новичок в Python и во всех чудесах, которые в нем содержатся, и я пытаюсь создать программу, способную отображать множество точек данных в 3D. Проблема в том, что проход по традиционному маршруту с помощью matplotlib очень медленный, вращение данных на экране очень прерывистое и неуклюжее.

Затем я обратился к VisPy, довольно новому дистрибутиву, обещающему быструю визуализацию данных с помощью обработки на GPU. Проблема в том, что я ничего не знаю об OpenGL, но, чтобы не беспокоиться, говорит VisPy, я все еще буду работать нормально для вас!

Итак, с помощью некоторых копаний я обнаружил, что эта простая, высокоуровневая, высокопроизводительная возможность построения графиков с VisPy, которая полностью ограждает пользователя от ужасов OpenGL, содержится в модуле MPL_Plot, который может перезаписывать команды matplotlib. так что все, что вам нужно сделать, это запрограммировать эти приятные и простые команды, и он будет работать на высокой скорости VisPy с вашего GPU!

Теперь все хорошо, но здесь я, новичок в python, столкнулся с некоторыми проблемами. Вот документация для этого конкретного чудесного модуля:

http://api.vispy.org/en/latest/mpl_plot.html

И это все.. Я не уверен, что что-то упустил, но там не так много, с чем я знаю, как работать.

Тем не менее, как настоящий программист, я не сдавался там, я продолжал искать примеры за страницей или какой-то другой способ решения этой проблемы, и в конце концов я нашел этот единственный пример: http://api.vispy.org/en/latest/examples/basics/plotting/mpl_plot.html

И, вооружившись знаниями, полученными при копании в этом примере, я скопировал некоторые команды в свою собственную программу, и она скомпилировалась! Но оставил только пустой холст VisPy без точек данных.

Итак, мой вопрос к вам, во-первых, как вы на самом деле используете VisPy, не разбираясь в OpenGL, и, во-вторых, что я делаю неправильно с кодом ниже:

Вот соответствующий код:

.
.
.

#Attempting to get it to work in just 2D first

import vispy.mpl_plot as plt
fig = plt.figure()
ax = plt.subplot(111)

ax.plot(x_list,y_list, 'k-')

plt.draw()
plt.show(True)

где x_list и y_list - списки целых чисел одинаковой длины

2 ответа

Решение

VisPy-х mpl_plot все еще очень рано в разработке. Возможно, вам больше повезет с API графа сцены (examples/basics/scene/markers.py может начать), но даже это все еще находится в стадии разработки.

Вы нашли ошибку в Vispy 0.4.0. Это было исправлено примерно в то же время, когда вы разместили этот вопрос. Если вы загрузите 0.5.0 dev0 из репозитория git и установите эту версию, вы сможете получить этот пример для правильной визуализации.

У меня была такая же проблема, пока около часа назад.

Другие вопросы по тегам