networkx.drawing.nx_agraph.pygraphviz_layout

pygraphviz_layout(G, prog='neato', root=None, args='')[源代码]

使用graphviz为g创建节点位置。

参数:
  • GNETWorkX图 )--使用networkx创建的图形
  • prog一串 )--Graphviz布局程序名称
  • root字符串,可选 )--twopi布局的根节点
  • args字符串,可选 )--graphviz布局程序的额外参数
  • 返回词典 )--x,y的字典,由节点键控的位置。

实际案例

>>> G = nx.petersen_graph()
>>> pos = nx.nx_agraph.graphviz_layout(G)
>>> pos = nx.nx_agraph.graphviz_layout(G, prog='dot')

笔记

如果使用复杂节点对象,它们可能具有相同的字符串表示形式,并且graphviz可以将它们视为相同的节点。布局可以为两个节点分配一个位置。请参见问题1568如果这种情况发生在您的案例中,请考虑使用类似于以下内容的内容重新标记节点,以便进行布局计算:

h=nx.将节点_标签_转换为整数(g,label _attribute='node _label')h _layout=nx.nx _agraph.pygraphviz _layout(g,prog='dot')g h.节点 [n] ['node_label'] :p表示n,p表示h摲layout.items()