如何使用igraph通过使用非零的ID绘制两个顶点?

时间:2013-07-17 22:51:23

标签: python igraph

您好我是igraph的新手。

我正在尝试使用python模块igraph来图形化图形。 图G是Karger最小割的输出,因此它总是只有2个顶点。

到目前为止,在我的情况下,igraph的问题是,我只能将边缘中的顶点ID定义为从零开始的数字(0,1,...)。 Cmiiw。

虽然Karger min-cut的输出是随机编号的顶点。 假设Karger min-cut的输入是具有300个顶点且ID = 0..299的图形,则输出图形具有两个顶点,其中随机ID编号为0..299。

E.g。图G(作为igraph的输入)具有edge = [(124,207),(207,124)]。 如果我试图绘制G,

>>> import igraph
>>> edges = [(124, 207), (207, 124)]
>>> g = igraph.Graph(edges=edges, directed=False)
>>> layout = g.layout("kk")
>>> igraph.plot(g, layout=layout)

然后得到的图有207个顶点,而不是预期的2个顶点,因为它应该是[(0,1),(1,0)],这是基于零的顶点。

如何使用igraph这样我可以使用非零的ID绘制两个顶点?

非常感谢你。

更新:我已经解决了我的问题,正如@Gabor Csardi在评论中所建议的那样,

>>> g = igraph.Graph()
>>> g.add_vertices(2)
>>> g.vs["name"] = ["124", "207"]
>>> edges = [("124", "207"), ("207", "124")]
>>> g.add_edges(edges)
>>> layout = g.layout("kk")
>>> igraph.plot(g, layout=layout)

但是,如果有更好的解决方案,请回答,谢谢。

0 个答案:

没有答案