Python matplotlib开罗错误

标签 python matplotlib plot python-3.4

我使用的东西比 pyplot tutorial 上的示例代码更简单。网站:

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

但是当我运行它时,我得到了错误:

TypeError: 找不到 'cairo.Context' 的外部结构转换器

我使用的是 Python 3.4.2,并且从 pip 重新安装了 matplotlib,cairocfft>0.6,numpy>=1.6。

我尝试卸载 cairocfft 并从 Arch 存储库中获取 python-cairo,但现在出现错误:

NotImplementedError:Surface.create_for_data:尚未实现。

有没有办法在不安装很多库的情况下绘制基本的折线图?我对 installing pyqt4 不感兴趣,如 this blogpost建议。 This github issue建议安装 gi-cairo,但 Arch repositories 上没有 gi-cairo ,我在 PyPI 上也找不到(我自己的搜索失败了?)

我记得这在 Python2 上是轻而易举的事,但现在已经迁移到 Python3。

最佳答案

这是为了防止有人在 Ubuntu 14.04 上遇到与我使用 Python 3.4.3 相同的问题。通过使用 JDong 答案中的点点滴滴和提示,我已经解决了如下问题。 (基本上把 MatPlotLib 后端改成 qt5agg。)

  1. 安装 python3-pyqt5 sudo apt-get install python3-pyqt5

  2. 找出 matplotlibrc 文件的位置,以便进行编辑。这可以在 Python 控制台中使用以下命令来完成。 导入 matplotlib matplotlib.matplotlib_fname()

  3. 编辑 matplotlibrc 文件(您可能需要 sudo),找到以 backend : 开头的行,然后更改它到 backend : qt5agg。如果这样的行不存在,只需创建一个。

以上步骤在 Ubuntu 14.04 上为我解决了这个问题。我希望这会有所帮助。

关于Python matplotlib开罗错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27749664/

相关文章:

python - 使用 UDP 套接字将 C++ 结构转换为 Python

python - 计算两条曲线之间的面积(正态分布)

python - 成对样本的带垂直直方图的平行轴点图

R 绘图 : customize point attributes

python - tkinter、python 和 seaborn 问题 : _tkinter. TclError:没有显示名称,也没有 $DISPLAY 环境变量

r - 如何在R包“raster”的“plot.raster”中删除框框

python - 3D线段框相交

python - 使用流水线 hgetall 进行 Redis 慢速查询

python - 将标题重置为索引并将其插入一行

python - 通过移动通过散点图绘制的点来动画 python pyplot