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.

83 lines
2.0 KiB

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Network | Basic usage</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: 600px;
  10. height: 400px;
  11. border: 1px solid lightgray;
  12. }
  13. p {
  14. max-width:600px;
  15. }
  16. </style>
  17. </head>
  18. <body>
  19. <p>
  20. You can draw on the canvas using normal HTML5 canvas functions. The before drawing will be behind the network, the after drawing will be in front of the network.
  21. </p>
  22. <div id="mynetwork"></div>
  23. <pre id="eventSpan"></pre>
  24. <script type="text/javascript">
  25. // create an array with nodes
  26. var nodes = new vis.DataSet([
  27. {id: 1, label: 'Node 1'},
  28. {id: 2, label: 'Node 2'},
  29. {id: 3, label: 'Node 3'},
  30. {id: 4, label: 'Node 4'},
  31. {id: 5, label: 'Node 5'}
  32. ]);
  33. // create an array with edges
  34. var edges = new vis.DataSet([
  35. {from: 1, to: 3},
  36. {from: 1, to: 2},
  37. {from: 2, to: 4},
  38. {from: 2, to: 5}
  39. ]);
  40. // create a network
  41. var container = document.getElementById('mynetwork');
  42. var data = {
  43. nodes: nodes,
  44. edges: edges
  45. };
  46. var options = {};
  47. var network = new vis.Network(container, data, options);
  48. network.on("initRedraw", function () {
  49. // do something like move some custom elements?
  50. });
  51. network.on("beforeDrawing", function (ctx) {
  52. var nodeId = 1;
  53. var nodePosition = network.getPositions([nodeId]);
  54. ctx.strokeStyle = '#A6D5F7';
  55. ctx.fillStyle = '#294475';
  56. ctx.circle(nodePosition[nodeId].x, nodePosition[nodeId].y,50);
  57. ctx.fill();
  58. ctx.stroke();
  59. });
  60. network.on("afterDrawing", function (ctx) {
  61. var nodeId = 1;
  62. var nodePosition = network.getPositions([nodeId]);
  63. ctx.strokeStyle = '#294475';
  64. ctx.lineWidth = 4;
  65. ctx.fillStyle = '#A6D5F7';
  66. ctx.circle(nodePosition[nodeId].x, nodePosition[nodeId].y,20);
  67. ctx.fill();
  68. ctx.stroke();
  69. });
  70. </script>
  71. <script src="../../../googleAnalytics.js"></script>
  72. </body>
  73. </html>