pydot_layout#
- pydot_layout(G, prog='neato', root=None)[source]#
使用
pydot
和 Graphviz 创建节点位置。- 参数:
- G图
要进行布局的 NetworkX 图。
- progstring (默认为 ‘neato’)
用于布局的 GraphViz 命令名称。选项取决于 GraphViz 版本,可能包括:‘dot’, ‘twopi’, ‘fdp’, ‘sfdp’, ‘circo’
- root来自 G 的节点或 None (默认为 None)
G 中用于开始某些布局算法的节点。
- 返回:
- dict
以节点为键的位置字典。
注意
如果您使用复杂的节点对象,它们可能具有相同的字符串表示形式,GraphViz 可能会将它们视为同一节点。布局可能会为这两个节点分配一个位置。参见 Issue #1568 如果您的项目中发生这种情况,请考虑仅为布局计算而重新标记节点,类似于使用以下方式:
H = nx.convert_node_labels_to_integers(G, label_attribute="node_label") H_layout = nx.nx_pydot.pydot_layout(H, prog="dot") G_layout = {H.nodes[n]["node_label"]: p for n, p in H_layout.items()}
示例
>>> G = nx.complete_graph(4) >>> pos = nx.nx_pydot.pydot_layout(G) >>> pos = nx.nx_pydot.pydot_layout(G, prog="dot")