为什么得到用户警告:Matplotlib当前正在使用ps,这是非GUI后端,因此无法显示该图

时间:2019-01-22 19:40:06

标签: python matplotlib

这不在jupyter笔记本中,因此不是duplicate of this question,但是我的代码是:

from gluoncv import model_zoo, data, utils
from matplotlib import pyplot as plt

...
plt.show()

我得到的错误是:

/figure.py:445: UserWarning: Matplotlib is currently using ps, which is a non-GUI backend, so cannot show the figure.
  % get_backend())

我在https://repl.it/@shamoons/WelloffHarmfulMineral创建了一个副本

如果有关系,我正在使用OSX。我需要怎么做才能显示图像?

2 个答案:

答案 0 :(得分:1)

matplotlib.use('PS')plt.show()是互斥的。您需要决定:

  • 您要在屏幕上显示图形吗?解决方案:删除行matplotlib.use('PS')
  • 您要使用PS后端吗?这似乎不太可能,因为除非在服务器上工作,否则几乎没有理由将后端设置为非交互式。无论如何,解决方案:将plt.show()替换为plt.savefig("filname.ps")

答案 1 :(得分:1)

您可以使用

matplotlib.use("TkAgg")

代替

matplotlib.use("PS")

在MacOS上进行开发时。

请注意,导入应在导入plt之前进行,例如:

import matplotlib
matplotlib.use('TkAgg')
from matplotlib import pyplot as plt
相关问题