>백엔드 개발 >파이썬 튜토리얼 >새로운 데이터로 Matplotlib 플롯을 효율적으로 업데이트하려면 어떻게 해야 합니까?

새로운 데이터로 Matplotlib 플롯을 효율적으로 업데이트하려면 어떻게 해야 합니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-05 18:38:12273검색

How Can I Efficiently Update Matplotlib Plots with New Data?

Matplotlib에서 플롯 업데이트

Matplotlib에서 대화형 플롯으로 작업할 때 새로운 데이터로 플롯을 업데이트해야 하는 경우가 많습니다. 이는 두 가지 방법으로 달성할 수 있습니다:

옵션 1: 지우기 및 다시 그리기

이 접근 방식에는 기존 플롯을 지우고 처음부터 다시 그리는 것이 포함됩니다. 이렇게 하려면:

  1. graph1.clear() 및 graph2.clear()를 호출하여 현재 데이터를 제거합니다.
  2. 이전과 같이 새 데이터를 다시 계산하고 플롯합니다.

이 방법은 간단하면서도 가장 느립니다.

옵션 2: 데이터 업데이트

전체 그래프를 다시 그리는 것을 방지하려면 기존 플롯 개체의 데이터를 직접 업데이트할 수 있습니다. 훨씬 더 빠르지만 다음이 필요합니다.

  1. 데이터 수집 논리에서 플로팅 논리를 분리하도록 코드를 수정합니다.
  2. 데이터 형태가 일정하게 유지되는지 확인합니다.
  3. 데이터 범위가 x 및 y 축 제한인 경우 수동으로 재설정 변경합니다.

예:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 6*np.pi, 100)
y = np.sin(x)

fig = plt.figure()
ax = fig.add_subplot(111)
line1, = ax.plot(x, y, 'r-')

for phase in np.linspace(0, 10*np.pi, 500):
    line1.set_ydata(np.sin(x + phase))
    fig.canvas.draw()
    fig.canvas.flush_events()

위 내용은 새로운 데이터로 Matplotlib 플롯을 효율적으로 업데이트하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.