2013-10-22 3 views
3

Linux에서 IPython QT Console을 실행하는 IPython에 다음 코드가 있습니다. 나는 몇 시간 동안이 일을 위해 애 쓰고 있었어요IPython 플로팅 인라인 표시되지 않음

%pylab inline 

Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline]. 
For more information, type 'help(pylab)'. 

fig = figure() 

ax = fig.add_axes() 

ax = fig.add_axes([0,500, 0, 5000]) 

ax.plot([1,2,3,44], [4,4,55,55]) 
Out[5]: [<matplotlib.lines.Line2D at 0x3d8e7d0>] 

fig 
Out[6]: <matplotlib.figure.Figure at 0x3d25fd0> 

fig.show() 
/usr/lib/pymodules/python2.7/matplotlib/figure.py:362: UserWarning: matplotlib is currently using a non-GUI backend, so cannot show the figure 
    "matplotlib is currently using a non-GUI backend, " 

, 나는 행운과 함께, Qt4Aggmatplotlib.use() 수동으로 백엔드를 변경 GTK 등을 시도했습니다. display()으로 전화를 걸었을 때에도 IPython notebook에서 발생합니다.

인라인 플로팅을 얻는 방법에 대한 아이디어가 있으십니까?


답변으로 표시된 Jakob의 답변이지만 둘 다 실제로 사실입니다. 필자는 matploblibrc 파일을 새로운 복사본으로 대체하고 IPython QT Console을 --pylab = None으로 시작한 다음 콘솔에 % pylab 인라인을 수동으로 입력해야했습니다. 어떻게 든이 문제가 해결되었습니다.

+0

전문가가 아니며 소스에서 빌드하는 것을 두려워하면 소프트웨어 저장소 (예 : apt-get, yum 등)에서 설치를 시도 할 수 있습니다. – rafee

답변

4

축 개체가 잘못 정의되어있어 matplotlib이 렌더링되지 않습니다.
첫 번째 ax = fig.add_axes()을 제거하고 두 번째 줄을
ax = fig.add_axes([0, 0, 1, 1])으로 바꿉니다.

가 add_axes 방법 형태 왼쪽 하단 폭, 0과 1 사이의 값으로 높이에서 상대 좌표 축의 크기 요구, 예를 들어 볼 matplotlib tutorial.

그림 및 축 개체를 만들려면 fig.add_axes() 또는 fig,ax = subplots() 대신 fig.add_subplot(111)을 시도해보십시오. 후자는 대화 형 네임 스페이스 matplotlib (% pylab)를 IPython에서 호출했다고 가정합니다.

1

matplotlib 빌드가 GUI 백엔드없이 컴파일 된 것처럼 보입니다.

중 하나) 명시 적) 웹 서버에 대한 (편리한 지정된 때이 작업이 완료, 또는 b) 적어도 하나의 GUI 백엔드에 필요한 라이브러리, 예를 들어 어떤 Tk, Gtk, Qt 등 (존재하지 않는).

matplotlib은 어떻게 설치하셨습니까?

소스에서 컴파일 한 경우 최소한 Tk 용 개발 라이브러리가 있고 Python 설치가 Tk 지원 (기본적으로)으로 컴파일되었는지 확인하십시오. 배포판의 저장소에서 설치 한 경우 패키지를 만든 사람은 누구나 GUI 지원없이 빌드 한 것이므로 다른 소스에서 설치해야합니다.

+0

Spyder (Anaconda 사용)가 있습니다. 플롯을 그 자체로 창으로 만들려면 어떻게해야합니까? – Royi

관련 문제