Matplotlib在Mac上无法显示图形;plt.show()在“ MacOSX”后端卡住了

3

最近,我的Matplotlib图表无法显示。我有一个非常简单的脚本:

import matplotlib.pyplot as plt
plt.plot([1,2,3])

但是什么都没有显示出来。如果我包含这行代码:
plt.show()

当我使用Python时,程序会卡住。

在我的~/.config/matplotlib/matplotlibrc文件中,我有以下内容:

backend      : MacOSX
interactive  : True

我有一个问题,但是问出来有些不好意思。我已经使用Matplotlib多年了,但从未遇到过这个问题。我不知道该如何解决。

我正在使用Anaconda中的Python 3.5.2和Matplotlib 2.0.0。


2
可能是 Matplotlib not showing up in Mac OSX 的重复问题。 - Robert Valencia
1
你可以先尝试另一个后端,import matplotlib; matplotlib.use("backend") 其中 "backend" 可以是 "Qt4Agg"、"Qt5Agg"、"Tkagg" 或者甚至是 "Agg"(仅用于保存图像)。 - ImportanceOfBeingErnest
@ImportanceOfBeingErnest 好的,这个方法可行;我使用了“Qt5Agg”后端。我猜这指向了我的“MacOSX”后端存在问题?在matplotlib 2.0.0中不再支持它吗? - jlconlin
不,当然MacOSX后端也应该可以工作。只是现在你发现这是一个MacOSX后端的问题,并已经找到了一个暂时的解决方法。我从未在我的生活中使用过苹果产品,但其他人可能有可能解决方案的想法。 - ImportanceOfBeingErnest
@RobertValencia:这与那个问题的症状相同,但原因不同,在MacOS上可能有许多可能的原因(安装、后端、配置、没有明确的plt.show()),那么我们应该怎么做,合并还是保持原样? - smci
1
@smci 很抱歉回复晚了。如果出现了相同的症状,但是原因不同,我想应该将其作为一个独立的问题来处理。谢谢。 - Robert Valencia
2个回答

7

正如@ImportanceOfBeingErnest所指出的那样,我的后端配置工作没有进行。我不确定是否需要安装一些额外的库。我决定不使用MacOSX后端,而是使用Qt5Agg后端。这样就可以正常工作,我不需要安装任何新库。


2
我刚刚删除了这行:


interactive: True

我从~/matplotlib/matplotlibrc中获取了代码。只使用backend: MacOSXplt.show()命令就可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接