Как заставить 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 и установите эту версию, вы сможете получить этот пример для правильной визуализации.
У меня была такая же проблема, пока около часа назад.