Создать анимацию с различным интервалом времени в Python - PullRequest
0 голосов
/ 01 октября 2018
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 
import matplotlib.animation as animation
fig, ax = plt.subplots(figsize=(3,9))
dot, = ax.plot([], [], 'ro')

def init():
    ax.set_xlim(0,1)
    ax.set_ylim(0,3)
    return

def gen_dot():
    for i in range(len(list_x_y)):
    newdot = list_x_y[i]
    yield newdot

def update_dot(newd):
    dot.set_data(newd[0],newd[1])
    return dot

ani = animation.FuncAnimation(fig, update_dot, frames = gen_dot, interval = 100, 
init_func=init)
ani.save('Steps.gif',writer='imagemagick',fps=24)
plt.show()

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


Я подумал, что, вероятно, функция анимации не поддерживает различное времяфункциональность интервала, поэтому я попытался использовать цикл For и получить список временных интервалов, чтобы каждый раз в цикле for он спал определенное время и продолжал ... Однако JupyterNotebook не будет обновлять кадры, как я намеревалсябыть, создание статического изображения в конце периода ... Есть ли способ, как я могу создать GIF с различным интервалом времени?Я думаю, может быть, я смогу сохранить все кадры и использовать imageio для создания gif ... Но принимает ли imageio также различный временной интервал в качестве входных данных?Я борюсь с этой проблемой часами ... Любая помощь будет оценена.Спасибо!

...