我正在尝试在我的linux服务器上运行一个python脚本,并创建和保存一些绘图。我已经安装了ipython、pylab和matplotlib,但是当我运行我的脚本时,我得到了这个错误:
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 &
在我的桌面PC上运行使用matplotlib库的代码时,使用以下行没有问题:
import matplotlib.pyplot as plt
在代码的后面,这就是我使用绘图函数的地方。
如果我在服务器中运行代码,那么它只能在导入matplotlib之前才能工作,并强制它使用Agg后端。也就是说,我必须在代码的开头添加以下行:
import matplotlib
# Force matplotlib to not use any Xwindows backend.
matplotlib.use('Agg')
(请参见解释这一点的 )。否则,代码将与TclError: no dis
我在一个docker容器中运行一些python代码,定义如下:
FROM continuumio/anaconda2:5.3.0
USER root
RUN apt-get install git
ENV AWS_DEFAULT_REGION us-east-2
# Copying code in container
RUN mkdir /warburg-investigation
COPY . /warburg-investigation
RUN apt-get update
# Installing necessary packages
RUN pip install panaxea
因此,在(用于linux的windows子系统)上,人们建议我们需要使用Agg后端,只需要保存图像,而不是显示情节。
import matplotlib
matplotlib.use('Agg') # no UI backend
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 2.0, 0.01)
s = 1 + np.sin(2*np.pi*t)
plt.plot(t, s)
plt.title('About as simple as it gets, folks'