Можно ли отрегулировать размер шрифта метки края в Python в igraph? - PullRequest
0 голосов
/ 23 апреля 2020

Я пытаюсь настроить размер шрифта моих краевых меток в пакете igraph Python, но как только я пытаюсь добавить атрибуты размера метки, те метки, которые раньше были там, исчезают. Я не могу найти что-либо о размере метки края в документации 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)

Буду признателен за любые мысли по этому поводу, и если кто-нибудь знает, где я могу найти это в документации

1 Ответ

1 голос
/ 23 апреля 2020

Вы делаете это правильно, но назначаете действительно крошечные размеры.

Давайте сначала нарисуем график со свойствами по умолчанию, который имеет размер точки 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))

, что дает следующее изображение.

Original graph

После изменения размеров меток ребер

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

это становится:

enter image description here

, где один край почти исчез.

...