Сохранение анимации matplotlib как фильма;фильм слишком короткий - PullRequest
0 голосов
/ 11 июня 2019

У меня есть анимация, которую я сделал с помощью matplotlib, которую я сохраняю с помощью matplotlib.animation.Animation.save().Это хорошо работает, но мой фильм заканчивается до окончания моей анимации.

Я пытался изменить частоту кадров, интервал и формат фильма с .mp4 до .avi.Есть ли ограничение размера кадра или фильма?Как это можно исправить?

Вот мой код:

# Updates animation.
def update_line(num, data, line):
    line.set_data(data[..., :num])
    return line,


fig1 = plt.figure()
l, = plt.plot([], [], '-')
line_ani = animation.FuncAnimation(fig1, update_line, fargs=(np.array(trajectory), l), interval=25, blit=True)

line_ani.save(file_title + '.avi')
plt.show()

Хотя фильм должен длиться около 15 секунд, он заканчивается длиной 3 секунды.Я также использую plt.show(), и анимация намного длиннее в окне отображения matplotlib.

В случае, если это имеет значение, я работаю в Ubuntu с matplotlib 3.03 и python 3.6.

1 Ответ

0 голосов
/ 11 июня 2019

Редактировать: я смог исправить это, установив параметр frames=len(trajectory[1]).

Короче говоря, если вы можете предсказать длину вашего фильма в кадрах, используйте repeat=False и frames=number_of_frames в качестве параметровна .save().

Оставьте этот ответ для других, чтобы исправить свои ошибки.

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