Matplotlib后端GTK3 Agg使用Cairo?

2024-06-16 08:34:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白为什么当我试图使用Gtk3Agg后端时,我却错误地告诉我cairo模块没有找到。在

    ** (simple_plot_in_gtk3.py:312517): WARNING **: Error retrieving accessibility bus address: org.freedesktop.DBus.Error.ServiceUnknown: The name org.a11y.Bus was not provided by any .service files
    Traceback (most recent call last):
      File "simple_plot_in_gtk3.py", line 5, in 
        from matplotlib.backends.backend_gtk3agg import FigureCanvasGTK3Agg as FigureCanvas
      File "/Produits/publics/x86_64.Linux.RH6/python/3.4.1/lib/python3.4/site-packages/matplotlib-1.3.1-py3.4-linux-x86_64.egg/matplotlib/backends/backend_gtk3agg.py", line 1, in 
        import cairo
    ImportError: No module named 'cairo'

我试图从matplolib站点运行matplotlib/GTK3 example。在


Tags: inpyorgimportbackendplotmatplotlibline
1条回答
网友
1楼 · 发布于 2024-06-16 08:34:32

如果您查看backend_gtk3agg.py文件,您将看到文件中的第一行是

import cairo
import numpy as np
import sys
import warnings

import backend_agg
import backend_gtk3
from matplotlib.figure import Figure
from matplotlib import transforms

所以,是的,gtk3agg后端需要cairo library及其{a2}。还有numpy。在

它使用Cairo作为ImageSurface缓冲区,因为这是AGGdoes not provide。我不知道为什么gtk3agg开发者选择了这种方法。大概是因为方便吧。在

相关问题 更多 >