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
Patricia Arquetteoriginal
2024-11-15 22:04:02182parcourir

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

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!

Déclaration:
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