Sono in grado di creare un semplice diagramma con forme e numeri. Sto usando il seguente codice:Creazione di un'animazione utilizzando Python Gizeh
import gizeh as gz
W, H = 500, 300
surface = gz.Surface(W,H, bg_color=(1,0.7,1))
for a in range(1,9):
rect = gz.rectangle(lx = 10, ly = 10, xy=(W/a,H/a), fill =(0,1,0.7))
rect.draw(surface)
txt = gz.text(str(a), fontfamily="Dancing Script", fontsize=15, fill=(0,0,0),xy=(W/a,H/a))
txt.draw(surface)
surface.ipython_display()
ho anche creato una versione con moviepy:
import numpy as np
import gizeh as gz
import moviepy.editor as mpy
W, H = 500, 300
duration = 5
figpath = '/tmp/'
fps = 1
def make_frame(t):
surface = gz.Surface(W,H, bg_color=(1,1,1))
rect = gz.rectangle(lx = 10, ly = 10, xy=(W/(t+1),H/2), fill =(0,1,0.7))
rect.draw(surface)
txt = gz.text(str(t+1), fontfamily="Dancing Script", fontsize=15, fill=(0,0,0),xy=(W/(t+1),H/2))
txt.draw(surface)
return surface.get_npimage()
clip = mpy.VideoClip(make_frame, duration=duration)
clip.write_videofile(figpath + 'trax_0.mp4', fps=fps)
clip.ipython_display(fps=fps, width=W, autoplay=0, loop=0)
Mi piacerebbe essere in grado di creare GIF animate utilizzando un ritardo tra ogni fase del ciclo.
ho fatto già. La mia domanda è come uso un ciclo "esplicito" per controllare le dimensioni e le coordinate invece del parametro funzione "t" – Hugo
puoi spostare le coordinate e le dimensioni predefinite per ogni "t" al dizionario e accedervi dalla funzione "make_frame" – Delimitry
Se hai già provato MoviePy, aggiorna il codice nella tua domanda. – Delimitry