python - igraph plot not available(已安装cairo)

时间:2015-03-10 17:40:16

标签: python plot igraph

使用brew安装py2cairo,但在尝试使用igraph进行绘图时不断出错。我收到以下错误:

>>> import igraph as ig
>>> from igraph import *
>>> UG = ig.Graph()
>>> UG.add_vertex('a')
>>> UG.add_vertex('b')
>>> UG.add_vertex('c')
>>> UG.add_vertex('d')
>>> UG.add_edge('a','d')
>>> UG.add_edge('a','c')
>>> UG.add_edge('b','c')
>>> UG.add_edge('b','a')

>>> layout = UG.layout_kamada_kawai()
>>> plot(UG,layout = layout)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 427, in plot
    result = Plot(target, bbox, background="white")
  File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/__init__.py", line 122, in __init__
    self._surface_was_created = not isinstance(target, cairo.Surface)
  File ".../anaconda/lib/python2.7/site-packages/igraph/drawing/utils.py", line 396, in __getattr__
    raise TypeError("plotting not available")
TypeError: plotting not available

3 个答案:

答案 0 :(得分:2)

brew可能会为自己的Python安装py2cairo,而你在Anaconda Python下运行igraph。在你的机器上为一个Python发行版安装的模块不会在其他Python发行版中神奇地出现,因此你要么必须获得Anaconda Python的py2cairo,要么为Homebrew的Python编译igraph的Python接口。

答案 1 :(得分:1)

尝试更新您的PYTHONPATH变量,例如(插入您的用户名代替NNNN):

RelativeSource Mode=TemplatedParent

答案 2 :(得分:0)

我遇到了同样的问题。我试图安装pycairo,py2cairo但是igraph的情节不起作用。

以下解决了igraph绘图问题:

sudo pip install cairocffi

我使用cairocffi而不是pycairo,这解决了我的问题。