是否可以调整 Python 的 igraph 中边缘标签的字体大小?

Is it possible to adjust the font size of an edge label in Python's igraph?

我正在尝试调整 Python 的 igraph 包中边缘标签的字体大小,但是一旦我尝试添加标签大小属性,之前存在的标签就会消失。我在 igraph 文档中找不到任何关于边缘标签大小的信息,我想知道是否不可能做我想做的事情。这里有一些不可复制的伪代码来说明:

G = ig.Graph(directed=True)
outgoing = G.es.select(..., ...) 
incoming = G.es.select(..., ...)

outgoing["label"] = ...
incoming["label"] = ...
# once I add these lines... **, the labels disappear
outgoing["label_size"] = 2
incoming["label_size"] = 3

visual_style["edge_label"] = G.es["label"]
visual_style["edge_label_size"] = G.es["label_size"]

ig.plot(G, **visual_style)

对此有任何想法,如果有人知道我可以在文档中的什么地方找到它,我将不胜感激

您做得对,但分配的尺寸非常小。

我们先画一个默认属性的图,点大小为12

import igraph

g = igraph.Graph([(0, 1), (0, 2), (1, 2)])
g.vs["label"] = [1, 2, 3]
g.es["label"] = "edge"

layout = g.layout("fr")
igraph.plot(g, "graph_default.png", layout = layout, bbox=(200, 200))

生成下图。

更改边缘标签尺寸后

g.es[0]["label_size"] = 2
g.es[2]["label_size"] = 24

layout = g.layout("fr")
igraph.plot(g, "graph_scaled.png", layout = layout, bbox=(200, 200))

这变成:

其中一条边几乎消失了。