networkx 2.8.2 Pypi GitHub Homepage
Other Docs
NotesParametersReturns
pygraphviz_layout(G, prog='neato', root=None, args='')

Notes

If you use complex node objects, they may have the same string representation and GraphViz could treat them as the same node. The layout may assign both nodes a single location. See Issue #1568 If this occurs in your case, consider relabeling the nodes just for the layout computation using something similar to:

>>> 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()}

Parameters

G : NetworkX graph

A graph created with NetworkX

prog : string

Name of Graphviz layout program

root : string, optional

Root node for twopi layout

args : string, optional

Extra arguments to Graphviz layout program

Returns

node_pos : dict

Dictionary of x, y, positions keyed by node.

Create node positions for G using Graphviz.

Examples

>>> G = nx.petersen_graph()
... pos = nx.nx_agraph.graphviz_layout(G)
... pos = nx.nx_agraph.graphviz_layout(G, prog="dot")
See :

Local connectivity graph

Hover to see nodes names; edges to Self not shown, Caped at 50 nodes.

Using a canvas is more power efficient and can get hundred of nodes ; but does not allow hyperlinks; , arrows or text (beyond on hover)

SVG is more flexible but power hungry; and does not scale well to 50 + nodes.

All aboves nodes referred to, (or are referred from) current nodes; Edges from Self to other have been omitted (or all nodes would be connected to the central node "self" which is not useful). Nodes are colored by the library they belong to, and scaled with the number of references pointing them


GitHub : /networkx/drawing/nx_agraph.py#244
type: <class 'function'>
Commit: