J'ai une liste de tableaux 2D que je tracasse en utilisant un curseur de matplotlib
.
J'ai ajouté quelques boutons de contrôle à mon intrigue, donc je veux cliquer sur un bouton play
, et l'intrigue change avec un certain intervalle de temps.
est ici la fonction qui est appelée par le bouton:Python - mise à jour de tracé basé sur un temporisateur
def play(mouse_event):
for x in range(len(listOfMoments)):
image.set_data(listOfMoments[x])
time.sleep(0.5)
print(x)
Le print(x)
montre que x augmente normalement, cependant, il marque seulement le dernier tableau de la liste, après la fin incrément. Ma question est la suivante: comment puis-je la faire tracer une par une, comme prévu?
Je devrais aussi mentionner que j'ai essayé la boucle while
et obtenu les mêmes résultats.
Ce qui manquait. J'ai juste ajouté 'fig.canvas.draw()' et cela a fonctionné. Merci beaucoup! – philippos
Vous pouvez également utiliser une minuterie avec un rappel au lieu de veille afin de conserver l'interactivité pendant le délai. Voir https://matplotlib.org/examples/event_handling/timers.html –