X 서버를 실행하지 않고 matplotlib 그래프 생성
이 질문에는 이미 답변이 있습니다.
Matplotlib은 실행중인 X 서버를 의미하는 $ DISPLAY 환경 변수가 필요한 것 같습니다.
일부 웹 호스팅 서비스는 X 서버 세션 실행을 허용하지 않습니다.
X 서버를 실행하지 않고 matplotlib을 사용하여 그래프를 생성하는 방법이 있습니까?
[username@hostname ~]$ python2.6
Python 2.6.5 (r265:79063, Nov 23 2010, 02:02:03)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> fig = plt.figure()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/username/lib/python2.6/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/pyplot.py", line 270, in figure
**kwargs)
File "/home/username/lib/python2.6/matplotlib-1.0.1-py2.6-linux-i686.egg/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager
window = Tk.Tk()
File "/usr/local/lib/python2.6/lib-tk/Tkinter.py", line 1643, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable
>>>
@ Neil의 대답은 그것을 수행하는 하나의 (완전히 유효한!) 방법이지만 가져 오기 전에 전화 matplotlib.use('Agg')
를matplotlib.pyplot
한 다음 정상적으로 계속할 수도 있습니다.
예 :
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(range(10))
fig.savefig('temp.png')
Agg 백엔드도 사용할 필요가 없습니다. PDF, PS는, SVG는 AGG는 카이로 및 GDK 백엔드는 전혀 X 서버없이 사용할 수있다. 그러나 기본적으로 Agg 백엔드 만 빌드되므로 (여기서 생각하십니까?) 특정 설치에서 다른 백엔드를 사용하지 못할 가능성이 높습니다.
또는 .matplotlibrc
파일 에서 백엔드 매개 변수를 설정 matplotlib.pyplot
하여 지정된 렌더러 를 자동으로 사용할 수 있습니다.
pylab 인터페이스를 거치지 않고 matplotlib API를 직접 사용해야합니다. 여기 좋은 예가 있습니다.
http://www.dalkescientific.com/writings/diary/archive/2005/04/23/matplotlib_without_gui.html
참고 URL : https://stackoverflow.com/questions/4931376/generating-matplotlib-graphs-without-a-running-x-server
'IT story' 카테고리의 다른 글
루아 문자열을 int로 (0) | 2020.05.26 |
---|---|
아약스 요청에 대해 "파서 오류"를 반환하는 jQuery (0) | 2020.05.26 |
새 폴더를 만드는 방법? (0) | 2020.05.26 |
Java에서 연산자 오버로드 (0) | 2020.05.26 |
Matplotlib에서 하위 플롯에 제목을 추가하는 방법은 무엇입니까? (0) | 2020.05.26 |