igraph python 中的标签绘制错误

问题描述 投票:0回答:1

将 igraph 与 python 一起使用,我试图在顶点和边上绘制标签,但它们显示错误

我的代码:

import igraph as ig

g = ig.Graph(directed = True, n=4)
g.add_edges([(0,1), (0,2), (2,3)])
g.es["weight"]=[1,2,3]

g.es["label"] = ["blue", "green", "yellow"]
g.vs["label"] = ["v1", "v2", "v3", "v4"]

ig.plot(g, layout = g.layout("rt"), edge_width = g.es['weight'])

我意识到第一次运行该程序时,它们显示得很好:

enter image description here

但是如果我尝试使用不同的标签再次运行它:

g.es["label"] = [1, 2, 3]
g.vs["label"] = ["a", "b", "c", "d"]

失败了:

enter image description here

如果我使用选项

vertex_label
edge_label
:

,也会发生同样的情况
import igraph as ig

g = ig.Graph(directed = True, n=4)
g.add_edges([(0,1), (0,2), (2,3)])
g.es["weight"]=[1,2,3]

ig.plot(g, layout = g.layout("rt"), vertex_label=["a", "b", "c", "d"], edge_label = [1, 2, 3], edge_width = g.es['weight'])

但是现在如果我关闭并打开程序,并尝试先运行

g.es["label"] = [1, 2, 3]
g.vs["label"] = ["a", "b", "c", "d"]

效果很好:

enter image description here

但是如果我尝试:

g.es["label"] = ["blue", "green", "yellow"]
g.vs["label"] = ["v1", "v2", "v3", "v4"]

它没有:

enter image description here

可能是我安装的问题。我正在使用 python 3.8.3 64 位和 anaconda 在 Visual Studio Code 上运行它。我使用

pip install python-igraph
和从 此站点 下载的 Cairo 安装了它(正如他们在 Windows 的 igraph 文档中所解释的那样),特别是 pycairo-1.20.0-cp38-cp38-win_amd64.whl
 版本。

有什么解决办法吗?

python plot label igraph
1个回答
0
投票
我刚刚遇到了一个类似的非常奇怪的错误,其中顶点名称完全错误(也在 vscode 中使用 jupyter)。虽然我不知道原因,但我通过在将绘图传递给 igraph 绘图函数之前在外部初始化绘图来解决它

import matplotlib.pyplot as plt g = ig.Graph(n=2) g.vs["dd"] = ['Pedro', 'Juana'] fig, ax = plt.subplots(figsize=(10, 10)) ig.plot(g, vertex_label=g.vs['dd'], target=ax)
    
© www.soinside.com 2019 - 2024. All rights reserved.