Convert an am5hierarchy.ForceDirected series into NetworkPoint
links.
The awkward one. A force-directed graph is a hierarchy series in
amCharts, not a link list: its data is a tree of children, and the links a
reader sees are the parent-child edges of that tree plus whatever cross-links
each row named. So the same walk the treemap uses supplies the tree — each
node's parent is the last name on its path — and the cross-links are read
off the authors' own rows afterwards.
Nothing about the layout is read. Where the solver dropped a node is a fact
about its seed rather than about the data, which is why NetworkPoint has
nowhere to put one.
A cross-link naming something the walk never saw is skipped rather than
turned into a node: amCharts draws no link for it either, and inventing the
node would announce a participant the chart does not have. Each pair is
emitted once — a link is undirected, and two rows naming each other draw one
line.
Convert an
am5hierarchy.ForceDirectedseries into NetworkPoint links.The awkward one. A force-directed graph is a hierarchy series in amCharts, not a link list: its data is a tree of
children, and the links a reader sees are the parent-child edges of that tree plus whatever cross-links each row named. So the same walk the treemap uses supplies the tree — each node's parent is the last name on its path — and the cross-links are read off the authors' own rows afterwards.Nothing about the layout is read. Where the solver dropped a node is a fact about its seed rather than about the data, which is why
NetworkPointhas nowhere to put one.A cross-link naming something the walk never saw is skipped rather than turned into a node: amCharts draws no link for it either, and inventing the node would announce a participant the chart does not have. Each pair is emitted once — a link is undirected, and two rows naming each other draw one line.