首页 > 解决方案 > igraph python中的标签绘制错误

问题描述

将 igraph 与 python 一起使用,我试图在 vertices 和 edges 中绘制标签,但它们显示错误

我的代码:

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'])

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

在此处输入图像描述

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

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

它失败:

在此处输入图像描述

如果改为使用选项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"]

它工作正常:

在此处输入图像描述

但是,如果我尝试:

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

它不是:

在此处输入图像描述

也许是我安装的问题。我正在使用 python 3.8.3 64 位和 anaconda 在 Visual Studio Code 上运行它。我使用从该站点pip install python-igraph下载的 Cairo安装了它(正如他们在igraph for Windows 的文档中解释的那样),特别是版本。pycairo-1.20.0-cp38-cp38-win_amd64.whl

任何想法如何解决它?

标签: pythonplotlabeligraph

解决方案


推荐阅读