Maison > développement back-end > Tutoriel Python > Comment mettre à jour dynamiquement les tracés Matplotlib avec les données d'un port série ?

Comment mettre à jour dynamiquement les tracés Matplotlib avec les données d'un port série ?

Patricia Arquette
Libérer: 2024-11-15 22:04:02
original
180 Les gens l'ont consulté

How to Dynamically Update Matplotlib Plots with Data from a Serial Port?

Mise à jour dynamique du tracé dans Matplotlib

La gestion de la visualisation des données en temps réel peut présenter des défis, en particulier lorsque l'on recherche des méthodes permettant de mettre à jour efficacement les tracés sans gêner performances ou le recours à des intervalles de temps imprévisibles. Cette enquête explore des solutions viables pour mettre à jour dynamiquement les tracés en fonction des données reçues d'un port série.

Pour répondre au problème exprimé concernant la lenteur des performances lors du redessinage répété de l'intégralité du tracé, la solution suivante utilise un mécanisme d'animation dans matplotlib. pour animer les données dans le temps :

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()

# Call update_line when receiving data from the serial port to update the plot incrementally
Copier après la connexion

Cette approche étend efficacement les données existantes sans redessiner complètement, répondant au besoin spécifique de mettre à jour le tracé uniquement lorsque de nouvelles données sont reçues.

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