pygraphviz_layout#
- pygraphviz_layout(G, prog='neato', root=None, args='')[source]#
使用 Graphviz 为图 G 创建节点位置。
- 参数:
- GNetworkX 图
使用 NetworkX 创建的图
- prog字符串
Graphviz 布局程序的名称
- root字符串, 可选
用于 twopi 布局的根节点
- args字符串, 可选
Graphviz 布局程序的额外参数
- 返回:
- node_pos字典
以节点为键的 x, y 位置字典。
备注
如果使用复杂的节点对象,它们可能具有相同的字符串表示形式,并且 GraphViz 可能会将它们视为同一节点。布局可能会为这两个节点分配一个位置。请参阅 Issue #1568 如果您的案例中出现此问题,请考虑仅为布局计算重新标记节点,例如使用类似以下方法
>>> H = nx.convert_node_labels_to_integers(G, label_attribute="node_label") >>> H_layout = nx.nx_agraph.pygraphviz_layout(G, prog="dot") >>> G_layout = {H.nodes[n]["node_label"]: p for n, p in H_layout.items()}
请注意,某些 graphviz 布局不保证是确定性的,更多信息请参阅 graphviz/graphviz#1767。
示例
>>> G = nx.petersen_graph() >>> pos = nx.nx_agraph.graphviz_layout(G) >>> pos = nx.nx_agraph.graphviz_layout(G, prog="dot")