arrows.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Dagre D3 Demo: Arrows</title>
  4. <link rel="stylesheet" href="demo.css">
  5. <script src="../../node_modules/graphlibrary/dist/graphlib.js"></script>
  6. <script src="../../node_modules/d3/build/d3.js"></script>
  7. <script src="../dagre-d3.js"></script>
  8. <style id="css">
  9. body {
  10. font: 300 14px 'Helvetica Neue', Helvetica;
  11. }
  12. .node rect,
  13. .node circle,
  14. .node ellipse {
  15. stroke: #333;
  16. fill: #fff;
  17. stroke-width: 1px;
  18. }
  19. .edgePath path {
  20. stroke: #333;
  21. fill: #333;
  22. stroke-width: 1.5px;
  23. }
  24. </style>
  25. <h1>Dagre D3 Demo: Arrows</h1>
  26. <svg width=960 height=600><g/></svg>
  27. <section>
  28. <p>A sample that shows the different arrows available in dagre-d3.
  29. </section>
  30. <script id="js">
  31. // Create a new directed graph
  32. var g = new graphlib.Graph().setGraph({});
  33. ["normal", "vee", "undirected"].forEach(function(arrowhead) {
  34. g.setNode(arrowhead + "1", { label: " " });
  35. g.setNode(arrowhead + "2", { label: " " });
  36. g.setEdge(arrowhead + "1", arrowhead + "2", {
  37. arrowhead: arrowhead,
  38. label: arrowhead
  39. });
  40. });
  41. var svg = d3.select("svg"),
  42. inner = svg.select("g");
  43. // Set up zoom support
  44. var zoom = d3.zoom().on("zoom", function() {
  45. inner.attr("transform", d3.event.transform);
  46. });
  47. svg.call(zoom);
  48. // Create the renderer
  49. var render = new dagreD3.render();
  50. // Run the renderer. This is what draws the final graph.
  51. render(inner, g);
  52. // Center the graph
  53. var initialScale = 0.75;
  54. svg.call(zoom.transform, d3.zoomIdentity.translate((svg.attr("width") - g.graph().width * initialScale) / 2, 20).scale(initialScale));
  55. svg.attr('height', g.graph().height * initialScale + 40);
  56. </script>
  57. <script src="demo.js"></script>