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 중국어 웹사이트의 기타 관련 기사를 참조하세요!