Python iGraph标签截止

时间:2016-11-12 22:03:05

标签: python igraph undirected-graph

我正在测试igraph python来绘制无向图。 问题是由于某些原因标签会被切断。标签包含空格,所以我不得不用下划线替换空格。

例如: 如果标签是Mike_Jorden,那么只显示e_jorde,有时候是ike_jorde。

我的输入是格式化为N_Col的csv文件,例如输入:

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)

我尝试了不同的布局算法,但我仍然遇到同样的问题。 请任何建议。

2 个答案:

答案 0 :(得分:1)

我刚尝试了一个带有长顶点名称的简单示例。情节很好。 尝试使用g.vs ['label']为顶点指定名称。

示例:

from igraph import *

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

结果如下: This

答案 1 :(得分:1)

Spyder似乎没有显示标签。 Spyder output image

Jupyter可以显示标签。 Jupyter output image