Самый быстрый способ создания анимации поверхности

#python #performance #matplotlib #plot

Вопрос:

У меня есть сетка точек X,Y и массив матриц, содержащих значения этих точек в разное время, Z. В настоящее время я вывожу изображение поверхностного графика с помощью matplotlib, прежде чем добавлять их вместе для создания анимации.

Это очень медленно, так как matplotlib должен отображать каждое изображение индивидуально, что означает, что построение 1000 кадров анимации занимает десятки минут, код показан ниже

 for i in range (len(Z)):
    axes=plt.axes(projection='3d')
    axes.plot_surface(X,Y,Z[i])
    plt.savefig(i)
 

Существует ли альтернативная библиотека, которая позволит вместо этого отображать анимацию в течение десятков секунд?

Комментарии:

1. Вы пробовали растрировать поверхность? plot_surface(x, y, Z, rasterized=True) ?

2. Вы могли бы взглянуть на pyqtgraph or vispy , который сделан в сотрудничестве с теми же разработчиками, но пока не так легко использовать. Они оба чрезвычайно быстры, потому что они используют OpenGL для визуализации графики