使用matplotlib plt.show()无法显示图形

5

我在Python和Linux方面很菜,需要帮助。我尝试使用matplotlib来显示一个简单的图表,方式如下:

from matplotlib import pyplot as plt

plt.plot([5,6,7,8], [7,3,8,3])
plt.show()

但是,当我运行python3 test.py时,我得到以下输出:

/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_gtk3agg.py:18: UserWarning: The Gtk3Agg backend is known to not work on Python 3.x with pycairo. Try installing cairocffi.
  "The Gtk3Agg backend is known to not work on Python 3.x with pycairo. "
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 69, in on_draw_event
    buf, cairo.FORMAT_ARGB32, width, height)
NotImplementedError: Surface.create_for_data: Not Implemented yet.
Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_gtk3agg.py", line 69, in on_draw_event
    buf, cairo.FORMAT_ARGB32, width, height)
NotImplementedError: Surface.create_for_data: Not Implemented yet.
/usr/local/lib/python3.4/dist-packages/matplotlib/backends/backend_gtk3.py:215: Warning: Source ID 7 was not found when attempting to remove it
  GLib.source_remove(self._idle_event_id)

和一个没有白色画布的空图像:

在此输入图片描述

这是什么问题?我该如何解决它?


可能是 Linux 上的图形模块出了问题,可能需要重新安装。 - Malik Brahimi
1个回答

15

如您所见:

"The Gtk3Agg backend is known to not work on Python 3.x with pycairo."

因此,所提出的建议是:

Try installing cairocffi.

cairocffi的安装指南非常简单明了,如果满足依赖关系1,那么只需执行以下步骤:

pip install cairocffi

1) Python 3.x 的依赖关系应该逻辑上为:


sudo apt-get install python3-dev
sudo apt-get install libffi-dev

应该是 pip3 install cairocffi 吧? - LRDPRDX

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接