【发布时间】:2010-01-23 06:31:21
【问题描述】:
Graphviz 中的任何功能可以做到这一点? 如果没有,还有其他可以做到这一点的免费软件吗?
【问题讨论】:
标签: python graph plot graphviz complement
Graphviz 中的任何功能可以做到这一点? 如果没有,还有其他可以做到这一点的免费软件吗?
【问题讨论】:
标签: python graph plot graphviz complement
鉴于您想在 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")
【讨论】:
自己计算补码,然后绘制它。
【讨论】: