Python iGraph 标签截止

Python iGraph labels cutoff

我正在测试 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)

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

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

示例:

from igraph import *

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

结果如下:

Spyder 似乎不显示标签。

Jupyter 可以显示标签。