2016-11-12 11 views
1

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

Примеры: Если на этикетке находится 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) 

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

ответ

1

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

Пример:

from igraph import * 

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

Результаты заключается в следующем: This