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.

70 lines
2.1 KiB

  1. <!doctype html>
  2. <html>
  3. <head>
  4. <title>Network | Label alignment</title>
  5. <script type="text/javascript" src="../../../dist/vis.js"></script>
  6. <link href="../../../dist/vis-network.min.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>Labels of edges can be aligned to edges in various ways.</p>
  20. <p>Text-alignment within node labels can be 'left' or 'center', other font alignments not implemented.</p>
  21. <p>Label alignment (placement of label &quot;box&quot;) for nodes (top, bottom, left, right, inside) is
  22. planned but not in vis yet.</p>
  23. <p>The click event is captured and displayed to illustrate how the clicking on labels works.
  24. You can drag the nodes over each other to see how this influences the click event values.
  25. </p>
  26. <div id="mynetwork"></div>
  27. <pre id="eventSpan"></pre>
  28. <script type="text/javascript">
  29. // create an array with nodes
  30. var nodes = [
  31. {id: 1, label: 'Node 1'},
  32. {id: 2, label: 'Node 2'},
  33. {id: 3, label: 'Node 3:\nLeft-Aligned', font: {'face': 'Monospace', align: 'left'}},
  34. {id: 4, label: 'Node 4'},
  35. {id: 5, label: 'Node 5\nLeft-Aligned box', shape: 'box',
  36. font: {'face': 'Monospace', align: 'left'}}
  37. ];
  38. // create an array with edges
  39. var edges = [
  40. {from: 1, to: 2, label: 'middle', font: {align: 'middle'}},
  41. {from: 1, to: 3, label: 'top', font: {align: 'top'}},
  42. {from: 2, to: 4, label: 'horizontal', font: {align: 'horizontal'}},
  43. {from: 2, to: 5, label: 'bottom', font: {align: 'bottom'}}
  44. ];
  45. // create a network
  46. var container = document.getElementById('mynetwork');
  47. var data = {
  48. nodes: nodes,
  49. edges: edges
  50. };
  51. var options = {physics:false};
  52. var network = new vis.Network(container, data, options);
  53. network.on("click", function (params) {
  54. params.event = "[original event]";
  55. document.getElementById('eventSpan').innerHTML = '<h2>Click event:</h2>' + JSON.stringify(params, null, 4);
  56. });
  57. </script>
  58. </body>
  59. </html>