2014-01-19 8 views
1

pyplot을 사용하는 데 문제가 있습니다. Python을 처음 접했을 때 나는 분명히 실수를 저지르고있다.pyplot에 보류가 작동하지 않습니다.

pyplot을 사용하여 그래프를 그린 후에 그래프를 보여 주지만 예를 들면 ylabel 현재 그래프를 업데이트하지 않습니다. 이전에 입력 된 정보가 아닌 ylabel 만있는 새로운 그래프가 생성됩니다. 그래서 저에게 그것은 현재의 그래프/축을 인식하는 데 문제가있는 것처럼 보입니다. 그러나이 보류는 True 진술을 전달합니다.

내 설정은 Python 2.7 (Python (x, y))입니다. 이 문제는 Spyder IDE와 IPython Qt Console에서 발생합니다. (constrast에 의해 대화 형이 아니지만 show()를 사용할 때 모든 것이 포함됩니다.) Spyder/Qt 콘솔에서 대화식을 끄면 쇼를 사용한 후에 아무 것도 표시되지 않습니다.) 명령).

import matplotlib.pyplot as plt 

plt.plot([1,2,3,4]) 
Out[2]: [<matplotlib.lines.Line2D at 0x78ca370>] 
 

plt.ylabel('test') 
Out[3]: <matplotlib.text.Text at 0x5bd5990> 
 

plt.ishold() 
Out[4]: True 


matplotlib.get_backend() 
Out[6]: 'module://IPython.kernel.zmq.pylab.backend_inline' 

희망 사항이 있습니다. 감사.

답변

1

이것은 InlineBackend가 다른 백엔드와 다르게 행동해야하는 것 중 하나이거나 메모리 누수가 있습니다. 이어야하며 matplotlib 그림을 명시 적으로 처리해야하며 구성에서 close_figureFalse으로 설정하십시오. 일반적으로 pyplot은 편의를 위해 matlab의 호환성 레이어이며 객체 지향 방식을 사용하는 방법을 배우려고합니다.

fig,ax = subplots() 
ax.plot(range(4)) 
ax.set_ylabel('my label') 
... 
+0

'' 'OO'-way ''는 'matplotlib'이 아닌 구문을 사용합니다. – tacaswell

+0

네, 감사합니다. 뇌는 대서양 횡단 비행 후에 피곤합니다. – Matt