Ope*_*way 70 python macos plot matplotlib
我正在运行Mac OSX 10.5.8.我使用macports安装了matplotlib.我从matplotlib库中得到了一些像这样的例子,没有修改:
http://matplotlib.sourceforge.net/examples/api/unicode_minus.html
我运行它,没有错误,但图片没有出现.在Linux Ubuntu中我得到它.
你知道这里有什么不对吗?
谢谢
lay*_*ser 95
我有同样的问题,即使我可以看到如何创建一个新的应用程序窗口并立即消失.
简单的解决方案 - 只需检查您是否有
plt.show()
Run Code Online (Sandbox Code Playgroud)
情节之后
Bil*_*nch 47
我也可以在我的结尾验证这一点.要解决,这就是我所做的
sudo port install py25-matplotlib +cairo+gtk2
sudo port install py26-matplotlib +cairo+gtk2
Run Code Online (Sandbox Code Playgroud)
此外,我们需要将默认后端更改为基于GUI的后端.
编辑文件~/.matplotlib/matplotlibrc,然后添加:
backend: GTKCairo
Run Code Online (Sandbox Code Playgroud)
此外,您可以尝试以下操作,这可能允许您不需要GTK或Cairo后端.编辑~/.matplotlib/matplotlibrc并添加:
backend: MacOSX
Run Code Online (Sandbox Code Playgroud)
使用安装了这些变体的端口,这也可以,但它不需要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()))
Run Code Online (Sandbox Code Playgroud)
ric*_*ieg 42
这对我有用.我刚刚改变了Matplotlib的导入
import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
Chr*_*heD 11
当你尝试
plt.savefig('myfilename.png')
Run Code Online (Sandbox Code Playgroud)
代替
plt.show()
Run Code Online (Sandbox Code Playgroud)
这样可以保存myfilename.png当前路径中指定的正确图像吗?
在情节之后简单地添加 -
plt.show()
这样做的原因是与交互与非交互模式有关。如果后端以非交互模式打开,plt.show()则需要在代码块的末尾。你可以通过调用检查状态plt.isinteractive(),并使用切换状态plt.ion()和plt.ioff()