2

该Graphviz中的任何功能可以做到这一点?如果没有,还有其他可以做到这一点的免费软件吗?

4

2 回答 2

5

鉴于您想在 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")
于 2010-01-15T17:42:21.097 回答
0

自己计算补码,然后绘制它。

于 2010-01-14T18:02:10.867 回答