Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Matplotlib 실시간 플롯에서 X축 이동시키는 방법

실시간 플롯을 그리는 동안 Matplotlib에서 X축을 이동시키려면 다음 단계를 따르면 됩니다.

구현 단계

  • 그림(figure) 크기를 설정하고 서브플롯 주변과 사이의 여백(padding)을 조정합니다.
  • 하나의 그림과 서브플롯 집합을 생성합니다.
  • numpy를 사용하여 xy 데이터 포인트를 만듭니다.
  • plot() 메서드를 사용하여 x, y 데이터를 플롯합니다.
  • 실시간 플롯 중에 X축을 이동시키는 animate 함수를 반복적으로 호출하여 애니메이션을 생성합니다.
  • 그림을 화면에 표시하려면 show() 메서드를 사용합니다.

예제 코드

import matplotlib.pylab as plt
import matplotlib.animation as animation
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

fig, ax = plt.subplots()

x = np.linspace(0, 15, 100)
y = np.cos(x)

ax.plot(x, y, lw=2, color='red')

def animate(frame):
    ax.set_xlim(left=0, right=frame)

ani = animation.FuncAnimation(fig, animate, frames=10)

plt.show()

코드 설명

위 코드에서 np.linspace(0, 15, 100)로 0부터 15까지 100개의 균등한 간격의 x값을 생성하고, 이에 대한 코사인 값을 y값으로 사용했습니다. 핵심은 animate(frame) 함수입니다. 이 함수는 프레임이 진행될 때마다 ax.set_xlim(left=0, right=frame)을 호출하여 X축의 오른쪽 경계를 현재 프레임 값으로 갱신함으로써 축이 마치 움직이는 것처럼 보이게 만듭니다.

animation.FuncAnimation(fig, animate, frames=10)은 총 10개의 프레임에 걸쳐 animate 함수를 반복 호출하며 애니메이션을 구동합니다. 실행 결과, 코사인 곡선 위에서 X축 범위가 점차 넓어지며 실시간으로 축이 이동하는 효과를 확인할 수 있습니다.

출력 결과

Matplotlib 실시간 플롯에서 X축 이동시키는 방법