cytoscape-d3-force
Description
d3-force for cytoscape.js (demo)(demo-bigdata)
Dependencies
- Cytoscape.js ^3.2.0
Usage instructions
Download the library:
- via npm:
npm install cytoscape-d3-force
, - via bower:
bower install cytoscape-d3-force
, or - via direct download in the repository (probably from a tag).
Import the library as appropriate for your project:
ES import:
;; cytoscape;
CommonJS require:
let cytoscape = ;let d3Force = ; cytoscape; // register extension
AMD:
;
Plain HTML/JS has the extension registered for you automatically, because no require()
is needed.
API
animate: true // whether to show the layout as it's running; special 'end' value makes the layout animate like a discrete layout maxIterations: 0 // max iterations before the layout will bail out maxSimulationTime: 0 // max length in ms to run the layout ungrabifyWhileSimulating: false // so you can't drag nodes during layout fixedAfterDragging: false // fixed node after dragging fit: false // on every layout reposition of nodes, fit the viewport padding: 30 // padding around the simulation boundingBox: undefined // constrain layout bounds; { x1, y1, x2, y2 } or { x1, y1, w, h } /**d3-force API**/ alpha: 1 // sets the current alpha to the specified number in the range [0,1] alphaMin: 0001 // sets the minimum alpha to the specified number in the range [0,1] alphaDecay: 1 - Math // sets the alpha decay rate to the specified number in the range [0,1] alphaTarget: 0 // sets the current target alpha to the specified number in the range [0,1] velocityDecay: 04 // sets the velocity decay factor to the specified number in the range [0,1] collideRadius: 1 // sets the radius accessor to the specified number or function collideStrength: 07 // sets the force strength to the specified number in the range [0,1] collideIterations: 1 // sets the number of iterations per application to the specified number { return dindex; } // sets the node id accessor to the specified function linkDistance: 30 // sets the distance accessor to the specified number or function { return 1 / Math; } // sets the strength accessor to the specified number or function linkIterations: 1 // sets the number of iterations per application to the specified number manyBodyStrength: -30 // sets the strength accessor to the specified number or function manyBodyTheta: 09 // sets the Barnes–Hut approximation criterion to the specified number manyBodyDistanceMin: 1 // sets the minimum distance between nodes over which this force is considered manyBodyDistanceMax: Infinity // sets the maximum distance between nodes over which this force is considered xStrength: 01 // sets the strength accessor to the specified number or function xX: 0 // sets the x-coordinate accessor to the specified number or function yStrength: 01 // sets the strength accessor to the specified number or function yY: 0 // sets the y-coordinate accessor to the specified number or function radialStrength: 01 // sets the strength accessor to the specified number or function radialRadius: radius// sets the circle radius to the specified number or function radialX: 0 // sets the x-coordinate of the circle center to the specified number radialY: 0 // sets the y-coordinate of the circle center to the specified number // layout event callbacks {} // on layoutready {} // on layoutstop {} // on every iteration // positioning options randomize: false // use random node positions at beginning of layout // infinite layout options infinite: false // overrides all other options for a forces-all-the-time mode
Build targets
npm run test
: Run Mocha tests in./test
npm run build
: Build./src/**
intocytoscape-d3-force.js
npm run watch
: Automatically build on changes with live reloading (N.b. you must already have an HTTP server running)npm run dev
: Automatically build on changes with live reloading with webpack dev servernpm run lint
: Run eslint on the source
N.b. all builds use babel, so modern ES features can be used in the src
.
Publishing instructions
This project is set up to automatically be published to npm and bower. To publish:
- Build the extension :
npm run build:release
- Commit the build :
git commit -am "Build for release"
- Bump the version number and tag:
npm version major|minor|patch
- Push to origin:
git push && git push --tags
- Publish to npm:
npm publish .
- If publishing to bower for the first time, you'll need to run
bower register cytoscape-d3-force https://github.com/shichuanpo/cytoscape.js-d3-force.git
- Make a new release for Zenodo.