Я пытаюсь запустить довольно медленную анимацию (500 миллисекунд на кадр), используя платформу Matplotlib FuncAnimation. Когда я делаю это и сохраняю результат в виде файла .mp4, первые несколько секунд всегда пусты, когда я использую приложение Windows 10 «Фильмы и ТВ», или зависают, когда я использую приложение «Windows Media Player». Мне это не нравится. Это ошибка, неправильное использование с моей стороны или неизбежный артефакт фреймворка?
Вот минимальный пример, взятый прямо из документации - я только что добавил ключевое слово interval=500
аргумент в FuncAnimation
, а затем сохранил анимацию стандартным способом:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
fig, ax = plt.subplots()
xdata, ydata = [], []
ln, = plt.plot([], [], 'ro')
def init():
ax.set_xlim(0, 2*np.pi)
ax.set_ylim(-1, 1)
return ln,
def update(frame):
xdata.append(frame)
ydata.append(np.sin(frame))
ln.set_data(xdata, ydata)
return ln,
ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 128),
init_func=init, interval=500, blit=True)
plt.show()
ani.save("Example.mp4", dpi=200)