2016-08-25 5 views
5

한 번에 최대 10 개의 샘플을 볼 수 있도록 실시간 플롯 중에 x 축을 조작하고 싶습니다. 플롯을 초기화 한 후 plt.axis() 업데이트를 한 번만 실행 한 것처럼 보입니다. 어떤 제안? 미리 감사드립니다!실시간 플롯 (파이썬) 동안 matplotlib에서 x 축 이동

import numpy as np 
import matplotlib.pyplot as plt 

# Initialize 
x_axis_start = 0 
x_axis_end = 10 

plt.axis([x_axis_start, x_axis_end, 0, 1]) 
plt.ion() 

# Realtime plot 
for i in range(100): 
    y = np.random.random() 
    plt.scatter(i, y) 
    plt.pause(0.10) 
    # print(i) 

    if i%10 == 0 and i>1: 
     # print("Axis should update now!") 
     plt.axis([x_axis_start+10, x_axis_end+10, 0, 1]) 

답변

1

당신은 if 문의 x_axist_startx_axis_end을 업데이트해야합니다!

if i%10 == 0 and i>1: 
    print("Axis should update now!") 
    x_axis_start += 10 
    x_axis_end += 10 
    plt.axis([x_axis_start, x_axis_end, 0, 1]) 

트릭을 수행합니다. :)

설명 : 두 매개 변수 모두에 한 번만 추가했습니다. 마지막에는 항상 10에서 0과 10을 추가하여 단 ​​하나의 업데이트 만 남겨 둡니다.

+0

오 이런, 그게 그렇게 간단합니다! 정말 고맙습니다! – NumbThumb

+0

당신을 진심으로 환영합니다. 최소한의 작업 예제에서 좋은 일은 btw, 우리는 그것들이 충분하지 않다! – Ian