将 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'])
我意识到第一次运行该程序时,它们显示得很好:
但是如果我尝试使用不同的标签再次运行它:
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 安装了它(正如他们在 Windows 的 igraph 文档中所解释的那样),特别是 pycairo-1.20.0-cp38-cp38-win_amd64.whl
版本。
有什么解决办法吗?
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)