Анимация контурного сюжета matplotlib с помощью фильма - PullRequest
2 голосов
/ 10 ноября 2019

Я пытаюсь анимировать контурный сюжет matplotlib с помощью moviepy. Я доволен индивидуальными рамками производства matplotlib. Но получающееся видео имеет гораздо более низкое разрешение, до такой степени, что метки и аннотации сложно читать. Это не проблема, с которой у меня были предыдущие анимации moviepy из рисунков matplotlib или любые другие примеры, приведенные в документации moviepy.

Код, который я использую, довольно точно повторяет примеры в документации moviepy:

import matplotlib.pyplot as plt
import moviepy.editor as mpy
from moviepy.video.io.bindings import mplfig_to_npimage

duration = 20

def make_frame(t):

    i = np.int32(model.time_steps * t / duration)
    fig, ax = model.plot_frame(i)
    frame = mplfig_to_npimage(fig)
    plt.close('all')
    return frame

animation = mpy.VideoClip(make_frame, duration=duration)
animation.write_videofile("movie.mp4", fps=24, codec='libx264')

model - это мой собственный класс, который содержит все данные для рендеринга.

Я знаю, что рендеринг всей фигуры и ее закрытие каждый раз неуклюже - есть некоторые другие проблемы, которыесделайте это хитрым, чтобы избежать в минуту, и это еще дальше в списке вещей для улучшения.

Я предполагаю, что мне может понадобиться передать дополнительные аргументы ffmpeg в animation.write_videofile? Но я в настоящее время озадачен и был бы признателен за любые указатели, которые кто-либо может иметь?

Приветствия,

...