데이터 수집 애플리케이션에서는 전체 그래프를 다시 그리지 않고 플롯을 동적으로 업데이트하는 것이 중요합니다. 이 최적화는 특히 장기간 데이터를 수집할 때 성능을 향상시킵니다.
일반적으로 플롯 업데이트에는 플롯을 지우고 다시 그리거나 애니메이션을 적용하는 작업이 포함됩니다. 고정 간격. 그러나 두 방법 모두 실시간 데이터 수집에 적합하지 않습니다. 다시 그리기는 시간이 지남에 따라 느려지고 간격 기반 애니메이션은 데이터 도착 시 즉시 플롯을 업데이트하지 못합니다.
새 데이터가 수신될 때만 플롯을 동적으로 업데이트하려면 , matplotlib의 애니메이션 API, 특히 FuncAnimation 함수 사용을 고려해보세요. 이 함수를 사용하면 플롯을 지속적으로 업데이트하는 함수를 정의할 수 있습니다.
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()
이 예에서 hl은 선 객체이고 update_line 함수는 새 데이터 포인트로 데이터를 확장합니다. 새 데이터가 수신되면 update_line을 호출하면 플롯을 원활하고 효율적으로 업데이트할 수 있습니다.
위 내용은 실시간 데이터 수집을 위해 Matplotlib 애니메이션을 최적화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!