2012-10-11 2 views
2

matplotlib.backends.backend_pdf를 사용하여 일부 matplotlib 플롯을 PDF로 렌더링합니다. 내 (Linux) 컴퓨터에서 실행할 때 제대로 작동하지만 외부 위치에서 컴퓨터로 ssh하고 코드를 실행하면 다음 오류 메시지와 함께 실패합니다. Matplotlib 콘솔에서만 실행할 때 pdf 저장 실패

File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 343, in figure 
    **kwargs) 
    File "/usr/lib/pymodules/python2.7/matplotlib/backends/backend_tkagg.py", line 80, in new_figure_manager 
    window = Tk.Tk() 
    File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1688, in __init__ 
    self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use) 
_tkinter.TclError: no display name and no $DISPLAY environment variable 

실패하는 내 코드의 행

그림 = matplotlib.pyplot.figure (figsize = (11.5,14.8))입니다.

나는 이것이 플롯을 렌더링하는 디스플레이를 찾으려고 노력하는 것과 관련이 있다고 가정하지만, 실제로는 코드가 표시하지 않습니다. PDF로만 저장됩니다. 코드를 제대로 실행하려면이 문제를 해결할 수있는 방법이 있습니까?

+1

:

당신은 ngurenyaga에서 제공하는 링크, 대화 형이 아닌 백엔드를 사용하도록 코드를 수정 제안에 따라, 하나 ssh -Y [email protected] 수와 X-연결을 얻거나 : //stackoverflow.com/questions/5503601/python-headless-matplotlib-pyplot –

답변

2

코드가 플롯을 표시하지 않지만 디스플레이가 필요한 대화식 백엔드를 계속 사용합니다. HTTP의 제안을 시도

matplotlib.use("Agg") 
관련 문제