Запись интерактивного сюжета - PullRequest
0 голосов
/ 25 апреля 2019

Следующий код прекрасно работает для сохранения анимации в файл:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation


Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, bitrate=1800)

fig, ax = plt.subplots()

ims = []
x = np.linspace(0, np.pi,200)
for theta in np.linspace(0, np.pi, 50):
    plot = ax.plot(x, np.sin(x + theta))
    ims.append(plot)

im_ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True)
im_ani.save('im.mp4', writer=writer)

Теперь я хотел бы просматривать анимацию в интерактивном режиме по мере создания графиков, сохраняя при этом ее в файл.Поэтому я попробовал следующий код:

import numpy as np
import matplotlib
import matplotlib.pyplot as plt
import matplotlib.animation as animation

Writer = animation.writers['ffmpeg']
writer = Writer(fps=15, bitrate=1800)

plt.ion()
fig, ax = plt.subplots()

ims = []
x = np.linspace(0, np.pi, 200)
for theta in np.linspace(0, np.pi, 50):
    ax.clear()
    plot = ax.plot(x, np.sin(x + theta))
    ims.append(plot)
    plt.draw()
    plt.pause(0.01)

im_ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True)
im_ani.save('im.mp4', writer=writer)

, который позволяет мне просматривать анимацию в интерактивном режиме, но полученный видеофайл содержит только пустые кадры.Можно ли просматривать анимацию в интерактивном режиме и одновременно сохранять ее в файл?В чем проблема с моим кодом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...