gpt4 book ai didi

python - 导入无显示的 Matplotlib

转载 作者:IT王子 更新时间:2023-10-29 00:23:44 26 4
gpt4 key购买 nike

我正在尝试在我的 Linux 服务器上运行一个 Python 脚本并制作并保存一些绘图。我已经安装了 ipythonpylabmatplotlib 但是当我运行我的脚本时我得到这个错误:

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

这一行 from pylab import *

如何在我的 linux 服务器上运行的 python 脚本中绘制和保存图形?

谢谢

最佳答案

你几乎不应该使用 from pylab import *

numpyscipymatplotlib 中导入您需要的内容。

在没有显示器的机器上,你需要使用agg后端:

您可以通过指定环境变量 MPLBACKEND 来实现此目的

$ MPLBACKEND=Agg python plot.py

或者通过导入 matplotlib before 导入 matplotlib.pyplot:

import matplotlib
matplotlib.use('Agg')

import matplotlib.pyplot as plt

plt.plot([1, 2, 1])
plt.savefig('test.pdf')

要将其设为默认值,您可以创建一个名为 matplotlibrc 的文件在当前目录或 $HOME/.config/matplotlib 中,包含以下内容:

backend: Agg

或者您可以启用 X-Forwarding,这样绘图就会在您的主机上弹出:

ssh -X user@server

关于python - 导入无显示的 Matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33902941/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com