tree_data(G, root, attrs=None, ident='id', children='children')
Node attributes are stored in this format but keys for attributes must be strings if you want to serialize with JSON.
Graph and edge attributes are not stored.
G must be an oriented tree
The root of the tree
A dictionary that contains two keys 'id' and 'children'. The corresponding values provide the attribute names for storing NetworkX-internal graph data. The values should be unique. Default value: dict(id='id', children='children')
.
If some user-defined graph data use these attribute names as data keys, they may be silently dropped.
The :None:None:`attrs`
keyword argument is replaced by :None:None:`ident`
and :None:None:`children`
and will be removed in networkx 3.0
Attribute name for storing NetworkX-internal graph data. :None:None:`ident`
must have a different value than children
. The default is 'id'.
Attribute name for storing NetworkX-internal graph data. children
must have a different value than :None:None:`ident`
. The default is 'children'.
If children
and :None:None:`ident`
attributes are identical.
A dictionary with node-link formatted data.
Returns data in tree format that is suitable for JSON serialization and use in Javascript documents.
>>> from networkx.readwrite import json_graph
... G = nx.DiGraph([(1, 2)])
... data = json_graph.tree_data(G, root=1)
To serialize with json
>>> import jsonSee :
... s = json.dumps(data)
The following pages refer to to this document either explicitly or contain code examples using this.
networkx.readwrite.json_graph.node_link.node_link_data
networkx.readwrite.json_graph.node_link.node_link_graph
networkx.readwrite.json_graph.tree.tree_data
networkx.readwrite.json_graph.adjacency.adjacency_data
networkx.readwrite.json_graph.tree.tree_graph
networkx.readwrite.json_graph.adjacency.adjacency_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