<!doctype html> <html> <head> <title>Network | Basic usage</title> <script type="text/javascript" src="../dist/vis.js"></script> <link href="../dist/vis.css" rel="stylesheet" type="text/css" /> <style type="text/css"> #mynetwork { width: 600px; height: 400px; border: 1px solid lightgray; } </style> </head> <body> <p> Create a simple network with some nodes and edges. </p> <div id="mynetwork"></div> <script type="text/javascript"> var nodes = new vis.DataSet() nodes.add({id:'A', label:"A", x:0, y:0}) nodes.add({id:'B', label:"B", x:100, y:0}) nodes.add({id:'C', label:"C", x:200, y:0}) nodes.add({id:'D', label:"D", x:0, y:100}) nodes.add({id:'E', label:"E", x:100, y:100}) nodes.add({id:'F', label:"F", x:200, y:100}) nodes.add({id:'G', label:"G", x:-100, y:200}) var edges = new vis.DataSet() edges.add({id:'1', from:"A", to:"B"}) edges.add({id:'2', from:"B", to:"C"}) edges.add({id:'3', from:"D", to:"E"}) edges.add({id:'4', from:"E", to:"F"}) edges.add({id:'5', from:"D", to:"G"}) var options = {physics:false, edges:{smooth:false}}; var network = new vis.Network(document.getElementById("mynetwork"), { nodes: nodes, edges: edges }, options) console.log("MAKE C1") network.cluster({ joinCondition:function(nodeOptions) { return nodeOptions.id == "B" || nodeOptions.id == "E"; }, clusterNodeProperties: {id:'C1', label:"C1"} }) console.log("MAKE C2") network.cluster({ joinCondition:function(nodeOptions) { return nodeOptions.id == "D" || nodeOptions.id == "G"; }, clusterNodeProperties: {id:'C2', label:"C2"} }) network.openCluster('C1', { releaseFunction: function (cpos, npos) { console.log(npos) return npos; } }) </script> </body> </html>