<tr><td>randomSeed</td><td>Number</td><td><code>undefined</code></td><td>When NOT using the hierarchical layout, the nodes are randomly positioned initially. This means that the settled result is different every time. If you provide a random seed manually, the layout will be the same every time. Ideally you try with an undefined seed, reload until you are happy with the layout and use the <code>getSeed()</code> method to ascertain the seed.</td></tr>
<tr><td>randomSeed</td><td>Number</td><td><code>undefined</code></td><td>When NOT using the hierarchical layout, the nodes are randomly positioned initially. This means that the settled result is different every time. If you provide a random seed manually, the layout will be the same every time. Ideally you try with an undefined seed, reload until you are happy with the layout and use the <code>getSeed()</code> method to ascertain the seed.</td></tr>
<trid="layout"><td>improvedLayout</td><td>Boolean</td><td><code>true</code></td><td>When enabled, the network will use the Kamada Kawai algorithm for initial layout. For networks larger than 100 nodes, clustering will be performed automatically to reduce the amount of nodes. This can greatly improve the stabilization times. If the network is very interconnected (no or few leaf nodes), this may not work and it will revert back to the old method. Performance will be improved in the future.</td></tr>
<trclass='toggle collapsible'onclick="toggleTable('optionTable','hierarchical', this);"><td><spanparent="repulsion"class="right-caret"></span> hierarchical</td><td>Object or Boolean</td><td><code>Object</code></td><td>When true, the layout engine positions the nodes in a hierarchical fashion using default settings. For customization you can supply an object.</td></tr>
<trclass='toggle collapsible'onclick="toggleTable('optionTable','hierarchical', this);"><td><spanparent="repulsion"class="right-caret"></span> hierarchical</td><td>Object or Boolean</td><td><code>Object</code></td><td>When true, the layout engine positions the nodes in a hierarchical fashion using default settings. For customization you can supply an object.</td></tr>
<trparent="hierarchical"class="hidden"><tdclass="indent">hierarchical.enabled</td><td>Boolean</td><td><code>false</code></td><td>Toggle the usage of the hierarchical layout system. If this option is not defined, it is set to true if any of the properties in this object are defined.</td></tr>
<trparent="hierarchical"class="hidden"><tdclass="indent">hierarchical.enabled</td><td>Boolean</td><td><code>false</code></td><td>Toggle the usage of the hierarchical layout system. If this option is not defined, it is set to true if any of the properties in this object are defined.</td></tr>
<trparent="hierarchical"class="hidden"><tdclass="indent">hierarchical.levelSeparation</td><td>Number</td><td><code>150</code></td><td>The distance between the different levels.</td></tr>
<trparent="hierarchical"class="hidden"><tdclass="indent">hierarchical.levelSeparation</td><td>Number</td><td><code>150</code></td><td>The distance between the different levels.</td></tr>
<trparent="stabilization"class="hidden"><tdclass="indent">stabilization.onlyDynamicEdges</td><td>Boolean</td><td><code>false</code></td><td>If you have predefined the position of all nodes and only want to stabilize the dynamic smooth edges, set this to true. It freezes all nodes except the invisible dynamic smooth curve support nodes. If you want the visible nodes to move and stabilize, do not use this.</td></tr>
<trparent="stabilization"class="hidden"><tdclass="indent">stabilization.onlyDynamicEdges</td><td>Boolean</td><td><code>false</code></td><td>If you have predefined the position of all nodes and only want to stabilize the dynamic smooth edges, set this to true. It freezes all nodes except the invisible dynamic smooth curve support nodes. If you want the visible nodes to move and stabilize, do not use this.</td></tr>
<trparent="stabilization"class="hidden"><tdclass="indent">stabilization.fit</td><td>Boolean</td><td><code>true</code></td><td>Toggle whether or not you want the view to zoom to fit all nodes when the stabilization is finished.</td></tr>
<trparent="stabilization"class="hidden"><tdclass="indent">stabilization.fit</td><td>Boolean</td><td><code>true</code></td><td>Toggle whether or not you want the view to zoom to fit all nodes when the stabilization is finished.</td></tr>
<tr><td>timestep</td><td>Number</td><td><code>0.5</code></td><td>The physics simulation is discrete. This means we take a step in time, calculate the forces, move the nodes and take another step. If you increase this number the steps will be too large and the network can get unstable. If you see a lot of jittery movement in the network, you may want to reduce this value a little.</td></tr>
<tr><td>timestep</td><td>Number</td><td><code>0.5</code></td><td>The physics simulation is discrete. This means we take a step in time, calculate the forces, move the nodes and take another step. If you increase this number the steps will be too large and the network can get unstable. If you see a lot of jittery movement in the network, you may want to reduce this value a little.</td></tr>
<tr><td>adaptiveTimestep</td><td>Boolean</td><td><code>true</code></td><td>If this is enabled, the timestep will intelligently be adapted <b>(only during the stabilization stage if stabilization is enabled!)</b> to greatly decrease stabilization times. The timestep configured above is taken as the minimum timestep. <ahref="layout.html#layout"target="_blank">This can be further improved by using the improvedLayout algorithm</a>.</td></tr>
@ -92,6 +92,7 @@ function Network(container, data, options) {
createEdge:function(){},
createEdge:function(){},
getPointer:function(){}
getPointer:function(){}
},
},
modules:{},
view:{
view:{
scale:1,
scale:1,
translation:{x:0,y:0}
translation:{x:0,y:0}
@ -119,6 +120,9 @@ function Network(container, data, options) {
this.nodesHandler=newNodesHandler(this.body,this.images,this.groups,this.layoutEngine);// Handle adding, deleting and updating of nodes as well as global options
this.nodesHandler=newNodesHandler(this.body,this.images,this.groups,this.layoutEngine);// Handle adding, deleting and updating of nodes as well as global options
this.edgesHandler=newEdgesHandler(this.body,this.images,this.groups);// Handle adding, deleting and updating of edges as well as global options
this.edgesHandler=newEdgesHandler(this.body,this.images,this.groups);// Handle adding, deleting and updating of edges as well as global options