pygraphviz_layout#
- pygraphviz_layout(G, prog='neato', root=None, args='')[source]#
创建G节点的位置使用Graphviz。
- Parameters:
- GNetworkX图
使用NetworkX创建的图
- prog字符串
Graphviz布局程序的名称
- root字符串, 可选
twopi布局的根节点
- args字符串, 可选
Graphviz布局程序的额外参数
- Returns:
- node_pos字典
以节点为键的x, y位置字典。
Notes
如果你使用复杂的节点对象,它们可能具有相同的字符串表示,GraphViz可能会将它们视为同一个节点。 布局可能会为这两个节点分配一个位置。请参阅问题#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布局不能保证是确定性的, 更多信息请参见https://gitlab.com/graphviz/graphviz/-/issues/1767。
Examples
>>> G = nx.petersen_graph() >>> pos = nx.nx_agraph.graphviz_layout(G) >>> pos = nx.nx_agraph.graphviz_layout(G, prog="dot")