matplotlib의 draw() 메서드를 사용하여 플롯을 동적으로 업데이트하려고합니다. 나는 단순히 사용하려고 시도했다.Matplotlib draw() 메서드가 아무 것도 수행하지 않음
import matplotlib.pyplot as plt
import time
plt.plot(range(10))
plt.draw()
그러나 사실상 아무 것도하지 않는다. 프로그램은 실행하고 플롯을 표시하지 않고 종료됩니다. 쇼 메소드가 백엔드와 함께 플롯 창을 생성 한 다음 업데이트되도록하기 위해 다음 프로그램을 실행했지만, 백엔드가 첫 번째 show 명령으로 플롯을 그리고 이후에 업데이트되지 않는다는 것이 전부입니다. 윈도우가 닫힐 때까지 show() 메소드가 세션을 정지시키고 있다고 생각합니다.
import matplotlib.pyplot as plt
import time
plt.plot(range(10))
plt.show()
time.sleep(1)
plt.plot(range(50))
plt.draw()
저는 Mac OS X의 최신 버전을 실행 중입니다 (2014 년 7 월 15 일 기준). 그래, 그게 효과가 없어. 다음으로 내 기본 설정 ('tkagg')과 다른 백엔드를 사용하려고했습니다. Matplotlib의 대화식 모드 (ion())도 활성화했습니다.
import matplotlib
matplotlib.use('tkagg')
import matplotlib.pyplot as plt
import time
plt.ion()
plt.plot(range(10))
plt.show()
time.sleep(1)
plt.plot(range(50))
plt.draw()
다음으로 show() 및 draw() 메소드가 더 이상 필요하지 않으므로 삭제 한 것 같습니다. 그렇게하면 프로그램이 실행되고 창을 표시하지 않고 닫힙니다.
draw() 메서드가 캔버스를 수정하지 않으면 어떻게 플롯을 동적으로 업데이트 할 수 있습니까? 커맨드 라인에서 파이썬 인터프리터를 사용할 때이 인터랙티브 모드는 작동하지만 "파이썬 myfile.py"파일을 실행하자마자 발생하지 않습니다. 내가 다운로드하고 백만 가지 예제를 시도하고 그들 중 아무도 사실 내 컴퓨터에 음모를 업데이 트 ... 도와주세요 !!
호기심에서 벗어난'MacOSX'를 시도해보십시오. – Ben
@ 벤 나는 그것을 줬다. 그 백엔드는 윈도우가 플롯되도록 허용하지 않습니다 ... –
'ipython'에서 인터랙티브하게 플로팅 할 수 있습니까? – Ben