如何从成员列表中绘制igraph中的子图

时间:2017-08-25 00:03:17

标签: python igraph

我有一个来自社区的顶点名称列表,如下所示:

members = [5735112, 5688612, 2270492, 5735148, 5442132]

然后我需要绘制由列表成员形成的子图(我知道它们是轨道)。

我为此编写了这段代码:

subgraph_vs = g.vs.select(m for m, k in enumerate(members))

subgraph = g.subgraph(subgraph_vs)

plot(subgraph)

但我得到了这个:

enter image description here

应该是这样的(只有蓝色轨道):

enter image description here

列表中只有两个成员聚合到子图中。红色的是不属于社区的其他顶点。

所以,我发现问题是因为列表推导不返回顶点ID来构建图形对象。我的意思是,我需要列表推导返回整个图表中与我的列表的成员名称相对应的成员ID,但我不知道该怎么做。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

有时候,解决方案很简单。只是改变列表理解:

subgraph_vs = (g.vs(name=m)[0].index for m in members)

我们得到了这个:

enter image description here