pydot_layout#

pydot_layout(G, prog='neato', root=None)[source]#

使用 pydot 和 Graphviz 创建节点位置。

Parameters:
GGraph

需要布局的 NetworkX 图。

progstring (默认: ‘neato’)

用于布局的 GraphViz 命令名称。 选项取决于 GraphViz 版本,可能包括: ‘dot’, ‘twopi’, ‘fdp’, ‘sfdp’, ‘circo’

rootG 中的节点或 None (默认: None)

某些布局算法从 G 中的哪个节点开始。

Returns:
dict

以节点为键的位置字典。

Notes

如果你使用复杂的节点对象,它们可能有相同的字符串表示,GraphViz 可能会将它们视为同一个节点。 布局可能会为这两个节点分配一个位置。参见 Issue #1568 如果这种情况发生在你身上,考虑在布局计算时重命名节点,使用类似以下的方法:

H = nx.convert_node_labels_to_integers(G, label_attribute=”node_label”) H_layout = nx.nx_pydot.pydot_layout(G, prog=”dot”) G_layout = {H.nodes[n][“node_label”]: p for n, p in H_layout.items()}

Examples

>>> G = nx.complete_graph(4)
>>> pos = nx.nx_pydot.pydot_layout(G)
>>> pos = nx.nx_pydot.pydot_layout(G, prog="dot")