vis.js is a dynamic, browser-based visualization library
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.5 KiB

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Network | Selections</title>
  5. <script type="text/javascript" src="../../dist/vis.js"></script>
  6. <link href="../../dist/vis.css" rel="stylesheet" type="text/css" />
  7. <style type="text/css">
  8. #mynetwork {
  9. width: 400px;
  10. height: 400px;
  11. border: 1px solid lightgray;
  12. }
  13. </style>
  14. <script src="../googleAnalytics.js"></script>
  15. </head>
  16. <body>
  17. <p>
  18. Select nodes or edges by clicking them. To select multiple nodes, long-press (hold) them.
  19. </p>
  20. <div id="mynetwork"></div>
  21. <pre id="info"></pre>
  22. <script type="text/javascript">
  23. // create an array with nodes
  24. var nodes = [
  25. {id: 1, label: 'Node 1'},
  26. {id: 2, label: 'Node 2'},
  27. {id: 3, label: 'Node 3'},
  28. {id: 4, label: 'Node 4'},
  29. {id: 5, label: 'Node 5'}
  30. ];
  31. // create an array with edges
  32. var edges = [
  33. {from: 1, to: 2},
  34. {from: 1, to: 3},
  35. {from: 2, to: 4},
  36. {from: 2, to: 5}
  37. ];
  38. // create a network
  39. var container = document.getElementById('mynetwork');
  40. var data = {
  41. nodes: nodes,
  42. edges: edges
  43. };
  44. var options = {
  45. nodes: {
  46. shape: 'box'
  47. }
  48. };
  49. network = new vis.Network(container, data, options);
  50. // add event listener
  51. network.on('select', function(properties) {
  52. console.log('select', properties);
  53. delete properties.event;
  54. document.getElementById('info').innerHTML = 'Selection: ' + JSON.stringify(properties, null, 2) + '<br>';
  55. });
  56. // set initial selection (id's of some nodes)
  57. network.selectNodes([3, 4, 5]);
  58. </script>
  59. </body>
  60. </html>