1.0.3 • Published 1 year ago
d3-force-pod v1.0.3
d3-force-pod
Component that runs a D3 force simulation and automatically draws circles/lines to an SVG canvas according to a configurable set of nodes, links and forces.
Nodes are prevented from escaping by hard-limiting the coordinates to the boundaries of the canvas.
Quick start
import d3ForcePod from 'd3-force-pod';
or using a script tag
<script src="//unpkg.com/d3-force-pod/dist/d3-force-pod.min.js"></script>
then
d3ForcePod()
.genNodes()
.addForce(d3.forceManyBody())
(<myDOMElement>);
API reference
Method | Description | Default |
---|---|---|
width(number) | Getter/setter for the canvas width. | window.innerWidth |
height(number) | Getter/setter for the canvas height. | window.innerHeight |
nodes(array) | Getter/setter for the list of nodes. Each node should be an object with the following optional properties: { x, y, vx, vy, r } . | [] |
links(array) | Getter/setter for the list of lines to draw between node pairs. Each link should follow the syntax: {source: <node index or node obj>, target: <node index or node obj>} . | [] |
genNodes(object) | Convenience method for randomly generating nodes. See below for input options and defaults. | |
addForce(fn) | Method to register a D3 force in the system. | |
simulation() | Getter for the underlying simulation object. Can be used as an escape hatch to modify simulation parameters such as alphaDecay. | d3.forceSimulation().alphaDecay(0).velocityDecay(0) |
nodeColor(string or fn) | Getter/setter for the color accessor of the node circles | #900C3F |
linkColor(string or fn) | Getter/setter for the color accessor of the link lines | #00008B |
genNodes(options) defaults:
{
density: 0.00025, // nodes/px
xRange: [0, width], // px
yRange: [0, height], // px
radiusRange: [1, 18], // px
velocityRange: [0, 4], // px/tick
velocityAngleRange: [0, 360] // 0=right, 90=down
}
1.0.2
1 year ago
1.0.1
1 year ago
1.0.0
1 year ago
1.0.3
1 year ago
0.9.13
2 years ago
0.9.14
2 years ago
0.9.12
3 years ago
0.9.11
3 years ago
0.9.9
4 years ago
0.9.10
4 years ago
0.9.8
4 years ago
0.9.7
4 years ago
0.9.6
4 years ago
0.9.5
5 years ago
0.9.4
6 years ago
0.9.3
7 years ago
0.9.2
7 years ago
0.9.1
7 years ago
0.9.0
7 years ago
0.8.2
7 years ago
0.8.0
7 years ago
0.7.0
7 years ago
0.6.1
7 years ago
0.6.0
7 years ago
0.5.0
7 years ago
0.4.0
7 years ago
0.3.0
7 years ago
0.2.0
7 years ago
0.1.1
7 years ago
0.1.0
7 years ago