使用python igraph标记图形中的边缘

use*_*638 5 python igraph

我有一个有向图的邻接矩阵(即权重集合),我想在最终图中的边上添加标签(对应于权重的值).换句话说,我想获得像这样.我正在使用python igraph,我的代码如下:

import numpy as np
import igraph as ig


N = 6

adj_matr = np.random.random((N, N))

g = ig.Graph.Weighted_Adjacency(adj_matr.tolist(), mode=ig.ADJ_DIRECTED, attr="weight", loops=True)

ig.plot(g, "My_Graph.svg", vertex_label=map(str, np.arange(N)))
Run Code Online (Sandbox Code Playgroud)

我已经弄清楚如何在节点上设置标签,但我找不到任何关于边缘的具体内容(edge_label=...在plot命令中添加不起作用).你知道如何解决这个问题吗?在此先感谢您的帮助!

pun*_*lly 3

使用vertex_label=相当于g.vs=

因此要标记边缘,请使用g.es=

g.es["label"] = ["A", "B", "C"]
Run Code Online (Sandbox Code Playgroud)

或者

g.es["name"] = map(str, np.arange(N))
Run Code Online (Sandbox Code Playgroud)