Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
简单python+;igraph的使用_Python_Igraph - Fatal编程技术网

简单python+;igraph的使用

简单python+;igraph的使用,python,igraph,Python,Igraph,我第一次使用python+igraph 0.6,有一些基本问题 首先,我想制作一个随机图,然后在其中插入一个团 from igraph import * g = Graph.Erdos_Renyi(50,0.1) h = Graph.Full(5) 如何生成一个新的图g2,其中h由两条边连接到图g 第二,完成这项工作后,我想找到最大的派系,并在图片中显示它们的位置。调用组合图g2 mcliques = g2.maximal_cliques(4, 7) 我现在如何分别或在图g2中绘制我们刚刚发

我第一次使用python+igraph 0.6,有一些基本问题

首先,我想制作一个随机图,然后在其中插入一个团

from igraph import *
g = Graph.Erdos_Renyi(50,0.1)
h = Graph.Full(5)
如何生成一个新的图g2,其中h由两条边连接到图g

第二,完成这项工作后,我想找到最大的派系,并在图片中显示它们的位置。调用组合图g2

mcliques = g2.maximal_cliques(4, 7)

我现在如何分别或在图g2中绘制我们刚刚发现的派系?

回答第一个问题:

g2 = g + h
g2.add_edges([(0, 50), (1, 51)])
或者更简单:

g2 = g + h + [(0, 50), (1, 51)]
在这里,我们利用两个图之间的
+
运算符创建两个图的不相交并集这一事实,并且由于
igraph
始终使用连续的顶点ID范围,我们可以简单地知道
g2
的顶点0-49将跨越
g
,顶点50-54将跨越
h

关于你的第二个问题,你没有具体说明你所指的派系,但一个可能的解决办法如下:

group_markers = [(clique, "gray") for clique in mcliques]
plot(g2, mark_groups=group_markers)

有关
mark\u groups
参数的更多信息,请参阅
Graph.\uuuuu plot\uuuu
的文档;基本上,它要么是将颜色映射到顶点组(顶点ID)的字典,要么是生成顶点ID和颜色对的列表。然后,顶点组被一个阴影区域包围,该阴影区域以给定的颜色为背景。

谢谢!我期待着能够完全流利地使用igraph,因为它看起来非常强大。igraph的简单性非常好!