2017-03-26 1 views
0

matplotlib를 사용하여 동적으로 데이터를 다시 채우는 프레임 워크를 만들려고합니다. 그러나 코드를 실행할 때마다 플로팅을 업데이트하는 대신 플로팅 창이 응답을 멈추고 코드가 완료 될 때까지 기다린 다음 최종 그림을 그립니다.Spyder 동결의 동적 플로팅

Spyder의 "기능"에 있습니까? 아니면 내가 잘못 작성 했습니까? 거기에 어떤 해결 방법이 있습니까 그래서 그것은 실제로 작동합니까? 하기 matplotlib 음모를 꾸미고 윈도우와 같은 GUI 요소로 작업 할 때 time.sleep()를 사용

import matplotlib.pyplot as plt 
import time as t 

def read_data(): 
    #retrieve the data, whatever 

def update_plot(ax): 
    time, hw = read_data() 
    ax.clear() 
    ax.plot(time, hw) 

fig_hw = plt.figure() 
ax_hw = fig_hw.add_subplot(111) 

plt.ion() 

for i in range(100):  
    update_plot(ax_hw) 
    plt.draw() 
    t.sleep(0.1) 

답변

1

나쁜 생각입니다. 문자 그대로 응용 프로그램이 잠자기 상태가되어 응답하지 않는 (멈춤) 창이 발생합니다. 대신 plt.pause()을 사용하십시오.

관련 문제