[python] pyplot.show ()를 호출해도 matplotlib에 도면이 표시되지 않습니다.

matplotlib에 대한 도움말이 필요합니다. 예, pyplot.show () 호출을 잊지 않았습니다.

$ ipython –pylab

import matplotlib.pyplot as p 
p.plot(range(20), range(20))

matplotlib.lines.Line2D at 0xade2b2c출력으로 반환 됩니다.

p.show()

아무 일도 일어나지 않습니다. 오류 메시지가 없습니다. 새 창이 없습니다. 아무것도. matplotlibpip를 사용하여 설치 했는데 오류 메시지가 표시되지 않았습니다.

세부:

나는 사용한다,

  • 우분투
  • IPython v0.11
  • 파이썬 v2.6.6
  • matplotlib v1.0.1


답변

백엔드를 template로 설정하면 ~/.matplotlib/matplotlibrc증상을 재현 할 수 있습니다.

~ / .matplotlib / matplotlibrc :

# backend      : GtkAgg
backend      : template

파일 matplotlibrc이 디렉토리에 없을 수도 있습니다 ~/.matplotlib/. 이 경우 다음 코드는 현재 위치를 보여줍니다.

>>> import matplotlib
>>> matplotlib.matplotlib_fname()

In [1]: import matplotlib.pyplot as p

In [2]: p.plot(range(20),range(20))
Out[2]: [<matplotlib.lines.Line2D object at 0xa64932c>]

In [3]: p.show()

~/.matplotlib/matplotlibrc백엔드를 편집 하고와 같은 것으로 변경하면 GtkAgg플롯이 나타납니다. 컴퓨터에서 사용할 수있는 모든 백엔드를

import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)

다음과 같은 목록을 반환해야합니다.

['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX', 'QtAgg', 'Qt4Agg',
'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf',
'ps', 'svg', 'template']

참고:


답변

Ubuntu 12.04에서 똑같은 문제가 발생했습니다.

pip install matplotlib

긴 이야기를 짧게하기 위해, 나의 조언은 : pip 또는 손으로 matplotlib를 설치하려고하지 마십시오; 실제 패키지 관리자 (예 : apt-get / synaptic)가이를 설치하고 모든 종속성을 설치하도록하십시오.

불행히도 matplotlib의 백엔드 (실제로 플롯을 렌더링하는 대체 방법)에는 pip가 처리하지 않는 모든 종류의 종속성이 있습니다. 더 나쁜 것은 조용히 실패하는 것입니다. 즉, pip install matplotlibmatplotlib을 성공적으로 설치 한 것으로 보입니다. 그러나 사용하려고하면 (예 pyplot.show()🙂 플롯 창이 나타나지 않습니다. 웹에서 사람들이 제안하는 모든 다른 백엔드 (Qt4Agg, GTK 등)를 시도했지만 모두 실패했습니다 (즉, matplotlib.pyplot을 가져 오려고 할 때 ImportError누락 된 일부 종속성을 가져 오려고하기 때문에 얻 습니다). 그런 다음 이러한 종속성을 설치하는 방법을 연구했지만 Python 이외의 패키지 종속성이있는 패키지의 실행 가능한 설치 솔루션으로 pip (virtualenv 내)를 포기하고 싶었습니다.

전체 경험을 통해 matplotlib와 같은 소프트웨어를 설치하기 위해 apt-get / synaptic (즉, Ubuntu 패키지 관리자)으로 다시 크롤링했습니다. 완벽하게 작동했습니다. 물론, 그것은 virtualenv가 아닌 시스템 디렉토리에만 설치할 수 있으며 Ubuntu가 배포 한 버전에 갇혀있어 현재 버전보다 뒤 떨어질 수 있습니다 …


답변

% matplotlib 인라인

노트북으로 작업하는 경우 플롯이 작동하기 전에 위의 줄을 추가하십시오.


답변

나중에 참조 할 수 있도록

같은 문제가 발생했습니다-pylab이 ipython에서 표시되지 않았습니다. ipython의 구성 파일 {ipython_config.py}를 변경하여 문제가 해결되었습니다. 구성 파일에서

c.InteractiveShellApp.pylab = 'auto'

‘auto’를 ‘qt’로 변경했는데 이제 그래프가 표시됩니다.


답변

그냥 입력하십시오 :

plt.ion()

23:30의 https://www.youtube.com/watch?v=1zmV8lZsHF4 를 참조 하십시오 !

plt내 수입 때문에 사용됩니다 : import matplotlib.pyplotas plt

iTerm2가있는 Mac에서 python2.7을 사용하고 있습니다.


답변

내 문제를 해결 한 것은 상단의 ipython 노트북에서 아래 두 줄을 사용하는 것이 었습니다.

%matplotib inline
%pylab inline

그리고 효과가있었습니다. Ubuntu16.04 및 ipython-5.1을 사용하고 있습니다.


답변

이 작업을 수행하려면 소스에서 matplotlib를 설치해야했습니다. 주요 지침 ( http://www.pyimagesearch.com/2015/08/24/resolved-matplotlib-figures-not-showing-up-or-displaying/ )은 다음과 같습니다.

$ workon plotting
$ pip uninstall matplotlib
$ git clone https://github.com/matplotlib/matplotlib.git
$ cd matplotlib
$ python setup.py install

@unutbu가 말했듯이 백엔드를 변경하면 방금 다른 모든 백엔드가 작동하지 않는 더 많은 문제가 발생했습니다.