|
|
- sigma.layout.forceAtlas2
- ========================
-
- Algorithm by [Mathieu Jacomy](https://github.com/jacomyma).
-
- Plugin by [Guillaume Plique](https://github.com/Yomguithereal).
-
- ---
-
- This plugin implements [ForceAtlas2](http://www.plosone.org/article/info%3Adoi%2F10.1371%2Fjournal.pone.0098679), a force-directed layout algorithm.
-
- For optimization purposes, the algorithm's computations are delegated to a web worker.
-
- ## Methods
-
- **sigma.startForceAtlas2**
-
- Starts or unpauses the layout. It is possible to pass a configuration if this is the first time you start the layout.
-
- ```js
- sigmaInstance.startForceAtlas2(config);
- ```
-
- **sigma.stopForceAtlas2**
-
- Pauses the layout.
-
- ```js
- sigmaInstance.stopForceAtlas2();
- ```
-
- **sigma.configForceAtlas2**
-
- Changes the layout's configuration.
-
- ```js
- sigmaInstance.configForceAtlas2(config);
- ```
-
- **sigma.killForceAtlas2**
-
- Completely stops the layout and terminates the assiociated worker. You can still restart it later, but a new worker will have to initialize.
-
- ```js
- sigmaInstance.killForceAtlas2();
- ```
-
- **sigma.isForceAtlas2Running**
-
- Returns whether ForceAtlas2 is running.
-
- ```js
- sigmaInstance.isForceAtlas2Running();
- ```
-
- ## Configuration
-
- *Algorithm configuration*
-
- * **linLogMode** *boolean* `false`: switch ForceAtlas' model from lin-lin to lin-log (tribute to Andreas Noack). Makes clusters more tight.
- * **outboundAttractionDistribution** *boolean* `false`
- * **adjustSizes** *boolean* `false`
- * **edgeWeightInfluence** *number* `0`: how much influence you give to the edges weight. 0 is "no influence" and 1 is "normal".
- * **scalingRatio** *number* `1`: how much repulsion you want. More makes a more sparse graph.
- * **strongGravityMode** *boolean* `false`
- * **gravity** *number* `1`: attracts nodes to the center. Prevents islands from drifting away.
- * **barnesHutOptimize** *boolean* `true`: should we use the algorithm's Barnes-Hut to improve repulsion's scalability (`O(n²)` to `O(nlog(n))`)? This is useful for large graph but harmful to small ones.
- * **barnesHutTheta** *number* `0.5`
- * **slowDown** *number* `1`
- * **startingIterations** *integer* `1`: number of iterations to be run before the first render.
- * **iterationsPerRender** *integer* `1`: number of iterations to be run before each render.
-
- *Supervisor configuration*
-
- * **worker** *boolean* `true`: should the layout use a web worker?
- * **workerUrl** *string* : path to the worker file if needed because your browser does not support blob workers.
-
- ## Notes
- 1. The layout won't stop by itself, so if you want it to stop, you will have to trigger it explicitly.
|