В зависимости от ваших потребностей, matplotlib's imshow
или glumpy, вероятно, являются лучшими вариантами.
Matplotlib является бесконечно более гибким, но медленнее (анимация в matplotlib может быть чрезвычайно ресурсоемкой, даже когда вы все делаете правильно). Тем не менее, у вас будет действительно замечательная полнофункциональная графическая библиотека.
Glumpy отлично подходит для быстрого отображения на основе openGL и анимации 2D-массива numpy, но гораздо более ограничен в том, что он делает. Если вам нужно оживить серию изображений или отображать данные в реальном времени, это гораздо лучший вариант, чем matplotlib.
Использование Matplotlib (с использованием pyplot API вместо pylab):
import matplotlib.pyplot as plt
import numpy as np
# Generate some data...
x, y = np.meshgrid(np.linspace(-2,2,200), np.linspace(-2,2,200))
x, y = x - x.mean(), y - y.mean()
z = x * np.exp(-x**2 - y**2)
# Plot the grid
plt.imshow(z)
plt.gray()
plt.show()
Использование glumpy:
import glumpy
import numpy as np
# Generate some data...
x, y = np.meshgrid(np.linspace(-2,2,200), np.linspace(-2,2,200))
x, y = x - x.mean(), y - y.mean()
z = x * np.exp(-x**2 - y**2)
window = glumpy.Window(512, 512)
im = glumpy.Image(z.astype(np.float32), cmap=glumpy.colormap.Grey)
@window.event
def on_draw():
im.blit(0, 0, window.width, window.height)
window.mainloop()
Еще раз спасибо @ Джо, [этот ответ заставил меня решить мой собственный вопрос!] (Http://stackoverflow.com/questions/5003094/how-can-i-speed-up-an-animation/5471487#5471487) –