2

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

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

4

2 回答 2

1

Spyder 似乎没有显示标签。 Spyder 输出图像

Jupyter 可以显示标签。 Jupyter 输出图像

于 2018-10-25T03:24:32.490 回答
0

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

例子:

from igraph import *

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

结果如下: 这个

于 2017-06-02T22:49:03.323 回答