본문 바로가기
Python/matplotlib

파이썬 matplotlib.pyplot.pause 함수 활용하기

by PySun 2024. 11. 11.
반응형

Matplotlib.pyplot.pause 함수: 그래프 애니메이션과 지속적 업데이트를 위한 시간 제어

파이썬의 Matplotlib 라이브러리는 데이터 시각화에 강력한 도구며, 그 중 pyplot.pause 함수는 그래프를 일시적으로 멈추고 애니메이션 효과를 줄 수 있는 기능을 제공합니다. 이 포스팅에서는 pyplot.pause 함수의 사용법과 다양한 예제를 통해 애니메이션 그래프를 쉽고 재미있게 만드는 방법을 소개합니다.

pyplot.pause 함수 소개

pyplot.pause 함수는 주어진 시간 동안 현재 플롯을 멈추게 하여 애니메이션을 구현할 수 있게 해줍니다. 이는 데이터의 변화나 실시간 정보의 시각화를 위해 필수적이죠. 이 함수를 활용하면 시각적 표현이 훨씬 더 매력적으로 변합니다.

함수 시그니처

pyplot.pause(interval)

매개변수:

  • interval: 그래프를 멈추게 할 시간 간격 (초 단위)입니다.

반환 값:

  • 이 함수는 반환 값이 없습니다. 단, 그래프의 화면 갱신 및 애니메이션 효과를 생성합니다.

사용 예제

기본 애니메이션 예제

다음은 간단한 데이터 애니메이션을 만드는 기본 예제입니다. 이 예제에서는 랜덤 데이터를 지속적으로 갱신하며 시각화합니다.

import matplotlib.pyplot as plt
import numpy as np

# 초기 데이터 만들기
x = np.linspace(0, 2 * np.pi, 100)
y = np.sin(x)

plt.ion()  # 인터랙티브 모드 활성화
line, = plt.plot(x, y)

for i in range(100):
    y = np.sin(x + i / 10.0)  # y 데이터 업데이트
    line.set_ydata(y)  # 그래프 데이터 업데이트
    plt.draw()  # 그래프 다시 그리기
    plt.pause(0.1)  # 0.1초 대기

실시간 데이터 시각화 예제

실시간 데이터를 시각화하려면 다음을 시도해 보세요. 이 예제에서는 노이즈가 포함된 사인 파형을 시뮬레이션합니다.

import matplotlib.pyplot as plt
import numpy as np

plt.ion()  # 인터랙티브 모드 활성화
x = np.linspace(0, 10, 100)
plt.figure()

for _ in range(50):
    y = np.sin(x) + np.random.normal(0, 0.1, x.shape)  # 노이즈 추가
    plt.clf()  # 이전 그래프 지우기
    plt.plot(x, y)
    plt.ylim(-2, 2)  # y 축 제한
    plt.title('Real-time Sin Wave with Noise')
    plt.pause(0.5)  # 0.5초 대기

결론

pyplot.pause 함수는 Matplotlib에서 애니메이션 및 실시간 데이터 시각화를 수행하는 유용한 방법입니다. 이 기능을 통해 데이터의 변화나 실시간 흐름을 매력적으로 나타낼 수 있습니다. 다양한 활용 사례를 통해 나만의 창의적인 시각화를 만들어 보세요!

  • pyplot.pause 함수를 사용하여 데이터 애니메이션을 새로운 차원으로 끌어올려 보세요!
  • 실시간 데이터를 매력적으로 표현하는 방법을 배워보세요!
반응형