Matplotlib在Mac OSX中没有出现?

时间:2010-03-24 23:36:24

标签: python macos matplotlib plot

我正在运行Mac OSX 10.5.8。我使用macports安装了matplotlib。我从matplotlib库中得到了一些像这样的例子,没有修改:

http://matplotlib.sourceforge.net/examples/api/unicode_minus.html

我运行它,没有错误,但图片没有出现。在Linux Ubuntu中,我明白了。

你知道这里有什么不对吗?

由于

13 个答案:

答案 0 :(得分:88)

我遇到了同样的问题,即使我看到一个新的应用程序窗口是如何创建并立即消失的。

简单的解决方案 - 只需检查您是否有

plt.show()

之后的情节

答案 1 :(得分:45)

我也可以在我的结尾验证这一点。要解决,这就是我做的事情

sudo port install py25-matplotlib +cairo+gtk2
sudo port install py26-matplotlib +cairo+gtk2

此外,我们需要将默认后端更改为基于GUI的。

编辑文件~/.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()))

答案 2 :(得分:36)

这对我有用。我刚刚更改了Matplotlib的导入

import matplotlib
matplotlib.use('TkAgg')
import matplotlib.pyplot as plt

答案 3 :(得分:10)

当你尝试

plt.savefig('myfilename.png')

而不是

plt.show()

是否在当前路径中保存了名为myfilename.png的正确图像?

答案 4 :(得分:6)

情节之后,只需添加-

plt.show()

之所以起作用,是因为交互式与非交互式模式有关。如果后端以非交互方式打开,则在代码块末尾需要plt.show()。您可以通过调用plt.isinteractive()来检查状态,并使用plt.ion()plt.ioff()

来切换状态

答案 5 :(得分:3)

只是添加一个注释,

我的系统上没有matplotlibrc文件,我不得不从matplotlib网站下载一份副本。未来的用户可能也必须这样做。

答案 6 :(得分:3)

这对我有用:

brew install pkg-config
brew link pkg-config
brew install pygtk
brew install freetype
brew install libpng

sudo ln -s /usr/local/Cellar/freetype/*/lib/pkgconfig/freetype2.pc /usr/local/lib/pkgconfig/freetype2.pc

git clone git@github.com:matplotlib/matplotlib.git
cd matplotlib
python setup.py build
python setup.py install

参考文献:

http://blog.caoyuan.me/2012/08/matplotlib-error-mac-os-x/ http://matplotlib.org/faq/installing_faq.html#install-from-git http://www.tapir.caltech.edu/~dtsang/python.html

答案 7 :(得分:2)

我只有python 2.5,我不想在我的mac上安装python 2.6。所以我使用以下链接中提到的不同过程来解决这个问题:

http://www.gtkforums.com/viewtopic.php?f=3&t=54928

实际需要的是以下步骤:

1)搜索目录“pygtk-2.0.pc”并找到它。例如,我的位于以下目录:

的/ opt / local / lib目录/ pkgconfig

2)将路径信息添加到envirement变量。例如:

PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
export PKG_CONFIG_PATH

3)从matplotlib网站下载配置信息文件“matplotlibrc”   http://matplotlib.sourceforge.net/_static/matplotlibrc

4)将后端更改为文件中的MacOSX并保存

5)将文件复制到目录.matplotlib    您可以通过以下命令在python中找到目录:

import matplotlib
matplotlib.get_configdir()

答案 8 :(得分:1)

Mac带有自己的python(read from here,这不是最好的),我建议您随Anaconda一起干净安装一些Python 3.7左右,然后将其作为解释器引入PyCharm。一切都可以正常工作,您无需添加“后端:MacOSX”之类的临时解决方案。

答案 9 :(得分:0)

如果有人使用spyder,请执行以下操作。

1。)从Anaconda Launcher启动Spyder 2.3.5.2 2.)转到首选项 - > IPython控制台 - >图形 - >后端:将其更改为“自动” 3.)选择“应用”并关闭首选项 3.)重启IPython内核 4.)创建简单的图形,如

答案 10 :(得分:0)

作为一项临时工作,可以将图形保存到.png / .jpg / .pdf并暂时使用该文件。

## assuming price is out DataFrame that contains columns that we want to plot 
pdf_plot=price.plot().get_figure()  
pdf_plot.savefig('Stocks.pdf')

答案 11 :(得分:0)

sudo port install py37-matplotlib +cairo+gtk3
~/.matplotlib/matplotlibrc used 
backend: MacOSX

似乎可以在上面unicode_minus.py example上的python 3.7的MacOS Mojave 10.14.4上运行。

答案 12 :(得分:0)

我想为我分享这个可行的解决方案,

import matplotlib
import platform
if platform.system() == 'Darwin':
    matplotlib.use('MacOSX')