我正在尝试使用命令在远程计算机上生成图形pylab.savefig。但是我得到了这样的错误:
pylab.savefig
Unable to access the X Display, is $DISPLAY set properly?
如何正确保存数字?
默认情况下,matplotlib将使用类似TkAgg后端的内容。这要求X服务器正在运行。
TkAgg
尽管您只能使用X转发,但是随着matplotlib尝试与远程X服务器连接时,会有明显的延迟。如果您不需要与图进行交互,通常最好完全避免X连接,从而加快处理速度。
如果要完全不需要X服务器来进行绘图,请改用Agg 后端 。
Agg
例如,执行以下操作:
import matplotlib matplotlib.use('Agg') # Must be before importing matplotlib.pyplot or pylab! import matplotlib.pyplot as plt fig = plt.figure() plt.plot(range(10)) fig.savefig('temp.png')
如果您希望这是默认行为,则可以修改matplotlibrc文件以Agg默认使用后端。
有关更多信息,请参见本文。