У меня есть массив с большим количеством переменных. Каждая строка представляет данные, необходимые для вычисления одного кадра y
, тогда как x
- это numpy.linspace
массив.
Когда я использую plt.plot(x, np.conj(bildevector[i,:])*bildevector[i,:]
в for-loop
, я получаю именно те изображения, которые мне нужны, но я хочу, чтобы они были в виде видеофайла.
Я пытался использовать ArtistAnimation
, но не могу заставить его работать.
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
""" Plotter de lagrede verdiene """
fig = plt.figure()
ims = []
for i in range(Nx):
plt.grid(True)
#plt.plot(x, np.conj(bildevector[i,:])*bildevector[i,:])
im = plt.imshow(plt.plot(x,
np.conj(bildevector[i,:])*bildevector[i,:]), animated=True)
ims.append([im])
#plt.show()
#plt.close()
ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,
repeat_delay=1000)
Работают части с #.
Я тоже пробовал это:
import numpy as np
from matplotlib import pyplot as plt
from matplotlib import animation
def f(u,v):
return np.conj(bildevector[v,:])*bildevector[v,:]
fig = plt.figure()
ax = plt.axes(xlim=(0,L),ylim=(0, 8*10^7))
ims = []
for i in range(340):
im = plt.imshow((x, np.real(np.conj(bildevector[i,:])*bildevector[i,:])), animated=True)
ims.append([im])
ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True,
repeat_delay=1000)
ani.save('dynamic_images.mp4')
plt.show()
Я ожидаю увидеть окончательное изображение графика в консоли, но все, что я получаю, - это пустое изображение с осью Y справа и осью X в одной точке, равной 0. Я также ожидаю получить файл с некоторым фактическим движением.