직렬 포트의 데이터로 Matplotlib 플롯을 동적으로 업데이트하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-15 22:04:02
원래의
119명이 탐색했습니다.

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

Matplotlib에서 동적으로 플롯 업데이트

실시간으로 데이터 시각화를 관리하는 것은 어려울 수 있으며, 특히 방해 없이 효율적으로 플롯을 업데이트하는 방법을 찾을 때 더욱 그렇습니다. 예측할 수 없는 시간 간격에 대한 성능 또는 의존도. 이 조사에서는 직렬 포트에서 받은 데이터를 기반으로 플롯을 동적으로 업데이트하는 실행 가능한 솔루션을 탐색합니다.

전체 플롯을 반복적으로 다시 그릴 때 성능 저하에 대한 언급된 문제를 해결하기 위해 다음 솔루션은 matplotlib의 애니메이션 메커니즘을 활용합니다. 시간에 맞춰 데이터에 애니메이션을 적용하려면:

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
로그인 후 복사

이 접근 방식은 완전히 다시 그리지 않고 기존 데이터를 효율적으로 확장하여 새 데이터가 있을 때만 플롯을 업데이트해야 하는 특정 요구 사항을 충족합니다. 접수되었습니다.

위 내용은 직렬 포트의 데이터로 Matplotlib 플롯을 동적으로 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿