Maison >développement back-end >Tutoriel Python >Comment réaliser un traçage en temps réel dans une boucle While Matplotlib ?
Traçage en temps réel dans une boucle While avec Matplotlib
Dans cette question, l'utilisateur tente de tracer des données en temps réel à l'aide d'OpenCV et matplotlib. Cependant, le traçage en temps réel ne fonctionne pas comme prévu. L'utilisateur fournit un exemple simplifié dans lequel le tracé ne remplit pas les points un par un, mais attend plutôt la fin de la boucle.
Pour résoudre ce problème, nous devons comprendre comment matplotlib met à jour les tracés en temps réel. Par défaut, matplotlib attend un appel de fonction à plt.show() pour afficher le tracé, puis le bloquer jusqu'à ce que la fenêtre du tracé soit fermée. Ce comportement empêche le tracé des données en temps réel.
La solution est d'utiliser la fonction plt.pause(). plt.pause(0.05) dessine les nouvelles données, exécute la boucle d'événements de l'interface graphique et met le tracé en pause pendant 0,05 seconde. Cela permet au tracé de se mettre à jour en temps réel et de répondre aux interactions de la souris.
Voici le code modifié qui trace avec succès 10 points en temps réel :
import numpy as np import matplotlib.pyplot as plt plt.axis([0, 10, 0, 1]) for i in range(10): y = np.random.random() plt.scatter(i, y) plt.pause(0.05) plt.show()
Avec cet ajustement, le tracé sera affichez désormais chaque point au fur et à mesure de sa génération, permettant une visualisation en temps réel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!