Maison >développement back-end >Tutoriel Python >Comment créer des tracés dynamiques en temps réel dans Matplotlib ?
Question :
Comment puis-je mettre à jour un tracé en temps réel dans la bibliothèque Matplotlib de Python , en ajoutant des points de données au fur et à mesure qu'ils deviennent disponible ?
Réponse :
Matplotlib propose plusieurs méthodes pour animer des données en temps réel. Une approche recommandée pour votre scénario consiste à utiliser la fonction API d’animation FuncAnimation. Cette fonction anime une fonction dans le temps, votre fonction pouvant être celle utilisée pour acquérir les données du port série.
Chaque méthode d'animation met généralement à jour la propriété de données de l'objet dessiné. Cette propriété peut être étendue pour conserver les points précédents tout en en ajoutant de nouveaux.
Étant donné l'heure d'arrivée des données incertaine, vous pouvez implémenter une fonction comme la suivante :
import matplotlib.pyplot as plt import numpy hl, = plt.plot([], []) def update_line(hl, new_data): hl.set_xdata(numpy.append(hl.get_xdata(), new_data)) hl.set_ydata(numpy.append(hl.get_ydata(), new_data)) plt.draw()
Appelez simplement update_line avec le données reçues chaque fois qu'un nouveau point de données est obtenu à partir du port série. Cette approche permet des mises à jour dynamiques du tracé sans avoir besoin d'effacer ou de redessiner l'intégralité du graphique.
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!