我试图在pygraph中使用超图,下面是我插入的一个简单示例:
hgr = hypergraph()
hgr.add_nodes(["A1", "B1", "C1", "D1"])
hgr.add_nodes(["A2", "B2", "C2", "D2"])
hgr.add_nodes(["A3", "B3", "C3", "D3"])
hgr.add_nodes(["A4", "B4", "C4", "D4"])
hgr.add_hyperedge(("A1", "A2", "A3", "A4"))
hgr.add_hyperedge(("B1", "B2", "B3", "B4"))
hgr.add_hyperedge(("C1", "C2", "C3", "C4"))
hgr.add_hyperedge(("D1", "D2", "D3", "D4"))
h_dot = write(hgr)
h_gvv = gv.readstring(h_dot)
gv.layout(h_gvv,'dot')
gv.render(h_gvv, 'png', 'hypergraph.png')
请验证这是使用pygraph创建超图的正确方法。在
非常感谢!在
由于每个超边缘不是节点的集合,而是表示为一个节点,因此应该对hyperedges使用唯一(简单)标识符,就像对节点所做的那样,然后将它们link传递给节点。在
考虑Wikipedia article for hypergraphs中的示例图:
要在
pygraph
中创建此图形,可以执行以下操作:将使用
dot
生成此图像输出:我想这是一个正确的表示,但不像维基百科上的图片那样直观。如果您正在追求超图的可视化,您应该查看this question。在
相关问题 更多 >
编程相关推荐