I am trying to run a python script on my linux server and make and save some plots. I have installed ipython
and pylab
and matplotlib
but then when I run my script I get this error:
Traceback (most recent call last):
File "/root/dining_hall_graph.py", line 14, in <module>
from pylab import *
File "/usr/lib64/python2.7/site-packages/pylab.py", line 1, in <module>
from matplotlib.pylab import *
File "/usr/lib64/python2.7/site-packages/matplotlib/pylab.py", line 265, in <module>
from matplotlib.pyplot import *
File "/usr/lib64/python2.7/site-packages/matplotlib/pyplot.py", line 97, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup
globals(),locals(),[backend_name])
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtkagg.py", line 10, in <module>
from matplotlib.backends.backend_gtk import gtk, FigureManagerGTK, FigureCanvasGTK,\
File "/usr/lib64/python2.7/site-packages/matplotlib/backends/backend_gtk.py", line 13, in <module>
import gtk; gdk = gtk.gdk
File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 64, in <module>
_init()
File "/usr/lib64/python2.7/site-packages/gtk-2.0/gtk/__init__.py", line 52, in _init
_gtk.init_check()
RuntimeError: could not open display
On this line from pylab import *
How can I plot and save graphs in my python script that I am running on my linux server?
Thanks
You should almost never use
from pylab import *
.Import what you need from
numpy
,scipy
andmatplotlib
.On machines without display, you need to use the
agg
backend:You can achieve this by specifying the environmental variable
MPLBACKEND
Or by importing
matplotlib
before importingmatplotlib.pyplot
:To make this the default, you can create a file called
matplotlibrc
in the current directory or in$HOME/.config/matplotlib
with the following content:Ot you could enable X-Forwarding, so the plots will pop up on your host machine: