network-rendering
Draw nice nodes and links in SVG. Developed for the network visualization tools at mapequation.org.
Install
npm install network-rendering
Example
;; const linkRenderer = networkRendering width linksize ; svg datadatalinks style"fill" "grey" style"stroke" "black" ;
API
networkRendering.halfLink() -> halfLinkRenderer
Creates a half-link renderer function with chainable methods.
halfLinkRenderer(link) -> string
Returns an SVG path string to render the link
based on the accessor functions below.
halfLinkRenderer.source([sourceAccessor]) -> self
If sourceAccessor
is specified, sets the source node accessor to the specified function. If not specified, returns the current source node accessor, which defaults to:
linksource
halfLinkRenderer.target([targetAccessor]) -> self
If targetAccessor
is specified, sets the target node accessor to the specified function. If not specified, returns the current target node accessor, which defaults to:
linktarget
halfLinkRenderer.nodeRadius([radius]) -> self
If radius
is specified, sets the node radius accessor to the specified function or constant. If not specified, returns the current node radius accessor, which defaults to:
nodesize || 10
halfLinkRenderer.nodeX([x]) -> self
If x
is specified, sets the nodes' x-coordinate accessor to the specified function or constant. If not specified, returns the nodes' current x-coordinate accessor, which defaults to:
nodex
halfLinkRenderer.nodeY([y]) -> self
If y
is specified, sets the nodes' y-coordinate accessor to the specified function or constant. If not specified, returns the nodes' current y-coordinate accessor, which defaults to:
nodey
halfLinkRenderer.width([width]) -> self
If width
is specified, sets the width accessor to the specified function or constant. If not specified, returns the current width accessor, which defaults to:
linksize || 10
halfLinkRenderer.oppositeLink([oppositeLink]) -> self
If oppositeLink
is specified, sets the opposite link accessor to the specified function. If not specified, returns the current opposite link accessor, which defaults to:
null
If the link renderer can't access opposite links, existing opposite links may not be rendered to fit nicely together.
halfLinkRenderer.bend([bend]) -> self
If bend
is specified, sets the bend accessor to the specified function or constant. If not specified, returns the current bend accessor, which defaults to:
linkbend || 30
networkRendering.undirectedLink() -> undirectedLinkRenderer
Creates a undirected-link renderer function with chainable methods. The API is the same as for halfLinkRenderer except that oppositeLink does not exist in undirectedLinkRenderer.