gpt4 book ai didi

python - python + igrph。 TypeError : plotting not available

转载 作者:行者123 更新时间:2023-12-03 09:02:33 27 4
gpt4 key购买 nike

我想使用python笔记本,igraph包绘制图片,示例代码在这里(我认为是对的)

!pip install cairocffi
import cairocffi as cairo

corlor = []
for i in g.vs['name']:
if set([i]) < set(degree_15):
corlor.append('red')
elif set([i]) < set(degree_30):
corlor.append('rgba(255,0,0,0.5)')
elif set([i]) < set(degree_60):
corlor.append('orange')
else:
corlor.append('yellow')
ig.plot(g,
#'C:\Users\Vincent Du\Desktop\degree_plot.jpg',
layout=geometry_layout,
vertex_label=g.vs['name'],
scale=1.0,
vertex_color=corlor,
vertex_frame_width=0.5,
edge_width=0.05,
vertex_label_size=ig.rescale(g.degree(),out_range=(1,12)),
vertex_size=ig.rescale(g.degree(),out_range=(5,25)),
bbox=(1200,800),
margin = 10,
)

还有一个错误。我不知道如何解决此问题,谢谢!
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-120-73eb4de82dd4> in <module>()
21 vertex_size=ig.rescale(g.degree(),out_range=(5,25)),
22 bbox=(1200,800),
---> 23 margin = 10,
24 )

//anaconda/lib/python3.5/site-packages/igraph/drawing/__init__.py in plot(obj, target, bbox, *args, **kwds)
444 bbox = BoundingBox(bbox)
445
--> 446 result = Plot(target, bbox, background=kwds.get("background", "white"))
447
448 if "margin" in kwds:

//anaconda/lib/python3.5/site-packages/igraph/drawing/__init__.py in __init__(self, target, bbox, palette, background)
115 """
116 self._filename = None
--> 117 self._surface_was_created = not isinstance(target, cairo.Surface)
118 self._need_tmpfile = False
119

//anaconda/lib/python3.5/site-packages/igraph/drawing/utils.py in __getattr__(self, _)
394
395 def __getattr__(self, _):
--> 396 raise TypeError("plotting not available")
397 def __call__(self, _):
398 raise TypeError("plotting not available")

TypeError: plotting not available

我认为我已经安装了cairo,但仍然无法正常工作

最佳答案

Python 3.7 venv:

(/home/victoria/venv/py37)$ python

Python 3.7.3 (default, Mar 26 2019, 21:43:19)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.

>>> from igraph import *
>>> g = Graph.Famous("petersen")
>>> plot(g)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
...
TypeError: plotting not available
  • https://github.com/igraph/python-igraph/issues/129
  • python + igraph "plotting not available"
  • python - igraph plot not available (cairo already installed)
  • (/home/victoria/venv/py37)$ pip install cairocffi
    ...
    Successfully installed cairocffi-1.0.2 cffi-1.12.3 pycparser-2.19

    现在绘图(忽略警告):
    (/home/victoria/venv/py37)$ python

    Python 3.7.3 (default, Mar 26 2019, 21:43:19)
    [GCC 8.2.1 20181127] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from igraph import *
    >>> g = Graph.Famous("petersen")
    >>> plot(g)

    (gthumb:31636): Gtk-WARNING **: 14:43:58.342: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod: Method "RegisterClient" with signature "ss" on interface "org.xfce.Session.Manager" doesn't exist
    <igraph.drawing.Plot object at 0x7f1810e36e80>

    >>>

    结果:

    enter image description here

    关于python - python + igrph。 TypeError : plotting not available,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43378698/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com