Matplotlib不以非交互模式在Mac上显示情节

时间:2017-11-10 16:44:53

标签: python macos matplotlib pycharm

我在线仔细搜索了解决方案,但我无法解决问题。

我正在使用Mac OS X High Sierra,最新版本的python(随官方安装程序一起安装)和matplotlib包(使用pip安装)。

我也确信我已经设置了TkAgg'正如许多其他用户所建议的那样,作为后端。让我们谈谈以下示例代码:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 5, 0.1)
y = np.sin(x)

plt.plot(x, y)
plt.show(block=True)

代码在交互模式下工作,并且图表刚刚正确弹出。但是,我发现无论我做什么,或者无论我改变哪部分代码,这都不起作用。 pylab(正如其他人建议的那样)也没有用。例如,如果我使用

运行代码
python test.py

它会在没有显示任何内容的情况下退出。 PyCharm也发生了同样的事情。

更新:我刚刚调试了代码,发现matplotlib故意阻止窗口?! 在档案

PYTHON_PATH/lib/python2.7/site-packages/matplotlib/backend_bases.py

第195-196行显示

if cls.mainloop is None:
    return

应该是这样,如果我们处于非交互模式,它将返回。当我评论这两行时,它会引发NonGuiException()

我担心目前无法解决这个问题?

0 个答案:

没有答案