_tkinter.TclError: no display name and no $DISPLAY environment variable
在 from matplotlib import pylot 之前,添加代码:
import matplotlib as mpl
mpl.use('Agg')
from matplotlib import pylot
Linux中,创建文件 ~/.config/matplotlib/matplotlibrc,(其中,~/.config/matplotlib/是配置文件matplotlibrc的路径)
添加如下一行:
backend : Agg
Windows下解决方案应该是一样的(只是配置文件位置不同)。
支持的格式(注意不支持jpg格式):
eps, pdf, pgf, png, ps, raw, rgba, svg, svgz
在plt.draw() 或者 plt.show() 之后添加生成图片的代码:
...
...
plt.show()
plt.savefig('/home/moxiao/code/python/classification_pr.png')
代码:
# -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.figure(2) # 创建图表2 ax1 = plt.subplot(211) # 在图表2中创建子图1 ax2 = plt.subplot(212) # 在图表2中创建子图2 x = np.linspace(0, 3, 100) for i in range(5): plt.figure(1) # 选择图表1 plt.plot(x, np.exp(i*x/3)) plt.sca(ax1) # 选择图表2的子图1 plt.plot(x, np.sin(i*x)) plt.sca(ax2) # 选择图表2的子图2 plt.plot(x, np.cos(i*x)) plt.show() plt.savefig('table.png')
配置过程,自行搜索。