在那个图中有什么函数能做到这一点吗?
如果没有,还有其他的免费软件可以做到吗?

最佳答案

考虑到您希望在graphviz中呈现图形,我建议使用python库networkx来计算图形补码。Networkx是一个优秀的图论分析库,它还具有与graphviz的无缝接口。
(图补集的粗略定义:想象一个图a’,它有与a相同的节点,但有所有可能的边,即每个节点都连接到其他每个节点;现在从a中去掉a中的边;剩下的是a,a的补集)

import networkx as NX
G = NX.gnm_random_graph(10, 10)   # create a random graph w/ 10 nodes, 10 edges
G_cmpl = NX.complement(G)         # get the complement of graph 'G'

# to render it in graphviz:
NX.write_dot(G_cmpl, "somefilename.dot")

关于python - 如何绘制网络图的补码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2066259/

10-12 19:45