matplotlib不会绘制python3

She*_*ena 24 python install backend matplotlib python-3.x

我在virtualenv中成功安装了matplotlib.现在我想把它画出来.我知道如何改变后端,但是我在弄清楚要改变什么方面遇到了很多麻烦.

有没有人设法让它完全使用python3?如果有,怎么样?

我尝试了很多东西.我已经遍历了所有的后端,看看所有的投诉是什么,而不是我试图让其中一个投入工作.

另外值得注意的是,我的目标是将其集成到Pyramid应用程序中.

这是迄今为止所有不同后端发生的事情:

  • Agg:这是默认的后端.它没有画画
  • GTK:需要pygtk,显然还没有移植到python3
  • GTKAgg:同上
  • GTKCairo:说'必需的包gtk'假设上面的内容
  • FltkAgg:看起来好像没有python3版本.即使它在python3 UI FAQ中提到过.我猜这只是一个唤醒.gosh darnit
  • MacOSX:我正在运行ubuntu.假定不合适
  • QtAgg:需要pyqt.见Qt4Agg
  • Qt4Agg:请参阅在virtualenv中安装PyQt4
  • TkAgg:ImportError:无法导入名称_tkagg.我可以在解释器中运行import tkinter,所以我不确定到底有什么坏了
  • WX:ImportError:Matplotlib backend_wx和backend_wxagg需要wxversion,找不到
  • WXAgg:同上
  • CocoaAgg:ImportError:CococaAgg后端需要安装PyObjC!
  • GTK3Cairo:ImportError:GTK3后端需要安装pygobject.我尝试安装它,但当我尝试使用正确的python配置它时,它会抱怨缺少标题
  • GTK3Agg:没有名为cairo的模块.但我认为我会遇到与上述相同的问题
  • 开罗:开罗后端需要安装pycairo
  • emf:你必须先从http://pyemf.sf.net安装pyemf .看起来它应该做windowsey的东西所以这可能不是一个好的选择
  • gdk:没有名为gobject的模块
  • pdf:运行但不绘制
  • pgf:同上
  • ps:同上
  • svg:同上
  • 模板:同上.

我用来测试我的后端的脚本是:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()
Run Code Online (Sandbox Code Playgroud)

到目前为止,我花了太多时间试图让python3.2和qt4玩得很好,而我似乎每次转弯都会遇到问题.因此,我不想继续尝试我的试错方法,而是要问:

  1. Python3.2和Pyramid的最佳选择是什么?
  2. 我该如何实现?

与此同时,我将继续进行反复试验,并在我离开时更新我的​​问题.

关于我正在尝试的东西的注意事项

对于TkAgg:

因为tkinter正确导入我假设它安装正确(如果我错了,我想有一种方法来测试它?).这个人http://ask.sagemath.org/question/626/sage-python-import-matplotlib-no-module-named有类似的问题,但我确定他的设置与我的不同.解决方案是在python3.2站点包目录的内容中找到tkagg.py并编辑有问题的import语句.我发现很难相信matplotlib出货了(我无法运行修改后的代码建议......)

对于WX的东西:

wxPython for Python 3表示尚不支持python3.另外wxPython在他们的网站上没有提到python3,所以我猜这是不行的.用完了选项:/

可可:

同上:在Python 3中编写Cocoa应用程序

EMF:

同上:http://pyemf.sourceforge.net/README.html

mg0*_*007 15

我遇到了完全相同的问题,但经过多次努力,我设法让TkAgg工作(这给了_tkagg的导入错误).不太晚,但有人可能会发现它很有用.

FWIW我解决了以下问题(使用TkAgg):

  • tk-dev从包管理器安装
  • python3-tk从包管理器重新安装
  • matplotlib从源代码重建并重新安装
  • (当然在matplotrc中设置TkAgg)

如果你认为你有tk-devpython3-tk正确安装,则需要重新编译和安装matplotlib,所以它产生_tkagg.py在你的backends目录中.

我在LM14上使用Python3.3(numpy 1.7).但我认为它应该适用于Ubuntu/Python3.2