Maison > développement back-end > Tutoriel Python > Comment créer des tracés dynamiques en temps réel dans Matplotlib ?

Comment créer des tracés dynamiques en temps réel dans Matplotlib ?

Susan Sarandon
Libérer: 2024-11-24 04:56:13
original
352 Les gens l'ont consulté

How to Create Real-time Dynamic Plots in Matplotlib?

Mise à jour dynamique du tracé 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()
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal