Обрезка меток Python iGraph

Я тестирую igraph python для построения неориентированного графика. Проблема в том, что по каким-то причинам надписи обрезаются. Этикетки содержат пробелы, поэтому мне пришлось заменить пробелы на подчеркивание.

Например: если метка - Mike_Jorden, то отображается только e_jorde и иногда ike_jorde.

Мой ввод - это файл csv, отформатированный как N_Col, например, в качестве ввода:

Mike_Jorden Test_2
Test_2 Test_1
Test_1 Mike_Jorden

Мой код выглядит следующим образом:

from igraph import *

g = Graph.Read_Ncol("graph.csv", directed=False)
names = g.vs["name"]

# remove double quotes 
for i in range(len(names)):
    names[i] = names[i][1:-1]

layout = g.layout("kk")
visual_style = {}
visual_style["vertex_shape"] = 'rectangle'
visual_style["vertex_size"] = g.betweenness()
visual_style["layout"] = layout
visual_style["bbox"] = (1000,1000)
visual_style["label_size"] = 20
visual_style["margin"] = 20
visual_style["label_dist"] = 20
visual_style["vertex_label"] = names 

plot(g ,"test.pdf",**visual_style)

Я пробовал разные алгоритмы компоновки, но все равно получаю ту же проблему. Любой совет, пожалуйста.


person MikeAlbert    schedule 12.11.2016    source источник


Ответы (2)


Я просто попробовал простой пример с длинными именами вершин. Сюжет работает нормально. Попробуйте использовать g.vs ['label'] для присвоения имен вершинам.

Пример:

from igraph import *

g=Graph.Tree(10,2)
g.vs['label'] = 'Mike John Mary George NICK'
plot(g)

Результаты следующие:  Это

person seralouk    schedule 02.06.2017
comment
Но ведь ярлыки с правой стороны обрезаны, не так ли? - person Jeremy; 12.01.2021

Похоже, что Spyder не показывает ярлыков. Выходное изображение Spyder

Jupyter может показывать ярлыки. Выходное изображение Jupyter

person stok    schedule 25.10.2018