Comment désactiver la mise à jour d'écran dans Matplotlib
-
19-09-2019 - |
Question
J'ai une boucle qui ajoute une ligne à un tracé sur chaque itération. En ce moment, c'est horriblement lent car il semble redessiner l'ensemble du graphique à chaque fois. Est-il possible de désactiver les mises à jour d'écran pour un graphique pendant sa configuration, puis les réactivera ensuite.
Voici le code:
for rr,dd in zip(angles,dists):
if dd == inf:
pass
else:
lineend = (array([cos(rr), sin(rr)]) * dd)+origin;
plot([origin[0], lineend[0]], [origin[1], lineend[1]],'-b');
Je sais que je devrais juste combiner tout cela en un seul appel à plot
Et je vais probablement le faire pour cet exemple. Mais il y a d'autres bits où ce serait plus un problème, donc une solution générale serait vraiment utile.
Merci!
La solution
On dirait que tu as le mode interactif on
, donc tu devrais simplement le régler sur off
en utilisant la commande
ioff()
Notez que lorsque le mode interactif est désactivé, vous devrez utiliser la commande show()
pour afficher les parcelles.