시냅틱 패키지 시스템을 사용하여 Ubuntu 9.10에 matplotlib를 설치했습니다. 그러나 다음과 같은 간단한 예제를 시도하면
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
플롯 창이 나타나지 않습니다. 플롯 창을 표시하는 방법에 대한 아이디어가 있습니까?
시냅틱 패키지 시스템을 사용하여 Ubuntu 9.10에 matplotlib를 설치했습니다. 그러나 다음과 같은 간단한 예제를 시도하면
>>> from pylab import plot;
>>> plot([1,2,3],[1,2,3])
[<matplotlib.lines.Line2D object at 0x9aa78ec>]
플롯 창이 나타나지 않습니다. 플롯 창을 표시하는 방법에 대한 아이디어가 있습니까?
답변:
입력 할 수 있습니다.
import pylab
pylab.show()
또는 더 나은 경우 ipython -pylab
.
의 사용은 pylab
더 이상 권장되지 않으므로 오늘날 해결책은 다음과 같습니다.
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()
pylab.show()
작동하지만 차단됩니다 (창을 닫아야합니다).
훨씬 더 편리한 해결책은 pylab.ion()
시작할 때 수행하는 것입니다 (대화 형 모드 켜기). 모든 (pylab과 동등한 pyplot.*
명령 ) 명령은 플롯을 즉시 표시합니다. 대화 형 모드에 대한 자세한 내용 은 공식 웹 사이트에서 찾을 수 있습니다.
또한 두 번째로 더 편리한 ipython -pylab
( --pylab
, 최신 버전)을 사용하여 from … import …
부분 을 건너 뛸 수 있습니다 ( %pylab
최신 IPython 버전에서도 작동 함).
pylab.show()
그림을 열려면 먼저 전화해야합니다 .
아래 코드 조각은 Eclipse와 Python 셸 모두에서 작동합니다.
import numpy as np
import matplotlib.pyplot as plt
# Come up with x and y
x = np.arange(0, 5, 0.1)
y = np.sin(x)
# Just print x and y for fun
print x
print y
# Plot the x and y and you are supposed to see a sine curve
plt.plot(x, y)
# Without the line below, the figure won't show
plt.show()
오류가 표시됩니까? 이것은 백엔드를 설정하지 않은 문제 일 수 있습니다. Python 인터프리터 또는 .matplotlib/matplotlibrc
홈 디렉토리 의 구성 파일 ( )에서 설정할 수 있습니다 .
코드에서 백엔드를 설정하려면
import matplotlib
matplotlib.use('Agg')
여기서 'Agg'는 백엔드의 이름입니다. 존재하는 백엔드는 설치 및 OS에 따라 다릅니다.
http://matplotlib.sourceforge.net/faq/installing_faq.html#backends
.matplotlib/matplotlibrc
를 backend: Agg
. 그런 다음 use
매번 명시 적으로 하나씩 지정할 필요는 없습니다. :)
최신 IPython은 --matplotlib
선택적 백엔드 매개 변수와 함께 " "인수를 사용합니다 . 기본값은 "auto"이며 일반적으로 Mac 및 Windows에서 충분합니다. Ubuntu 또는 다른 Linux 배포판에서 테스트하지 않았지만 작동 할 것으로 예상합니다.
ipython --matplotlib
show()
.