Matplotlib图在Mac OSX中不显示?
我在使用Mac OSX 10.5.8系统。我通过macports安装了matplotlib这个库。我从matplotlib的示例库里拿了一个例子,像这样,没有做任何修改:
http://matplotlib.sourceforge.net/examples/api/unicode_minus.html
我运行这个例子,没有报错,但图片就是不显示。在Linux Ubuntu系统上我可以看到这个图片。
你知道这里可能出什么问题吗?
14 个回答
50
这是我找到的解决办法。我只是修改了Matplotlib的导入方式。
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
159
我也遇到过同样的问题,我能看到一个新的应用窗口被创建出来,但马上又消失了。
简单的解决办法就是检查一下你是否有
# Assumes you have imported "matplotlib.pyplot" as "plt"
plt.show()
在绘图之后。
50
我这边也能确认这个问题。为了修复它,我做了以下操作:
sudo port install py25-matplotlib +cairo+gtk2
sudo port install py26-matplotlib +cairo+gtk2
另外,我们需要把默认的后端改成基于图形界面的那种。
编辑文件 ~/.matplotlib/matplotlibrc
,然后添加:
backend: GTKCairo
你也可以尝试下面的方法,这样可能就不需要GTK或Cairo的后端了。编辑 ~/.matplotlib/matplotlibrc
,然后添加:
backend: MacOSX
如果安装了这些变种的端口,这样也能工作,但不需要X11。
顺便提一下,我看到的错误是:
/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/matplotlib/backends/__init__.py:41: UserWarning:
Your currently selected backend, 'Agg' does not support show().
Please select a GUI backend in your matplotlibrc file ('/Users/wlynch/.matplotlib/matplotlibrc') or with matplotlib.use()
(backend, matplotlib.matplotlib_fname()))