shapes.html 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <!doctype html>
  2. <meta charset="utf-8">
  3. <title>Dagre D3 Demo: Shapes</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. .node polygon {
  16. stroke: #333;
  17. fill: #fff;
  18. stroke-width: 1.5px;
  19. }
  20. .edgePath path {
  21. stroke: #333;
  22. fill: #333;
  23. stroke-width: 1.5px;
  24. }
  25. </style>
  26. <h1>Dagre D3 Demo: Shapes</h1>
  27. <svg width=960 height=600><g/></svg>
  28. <section>
  29. <p>A sample that shows the different node shapes available in dagre-d3.
  30. </section>
  31. <script id="js">
  32. // Create a new directed graph
  33. var g = new graphlib.Graph().setGraph({});
  34. g.setNode("rect", { shape: "rect" });
  35. g.setNode("circle", { shape: "circle" });
  36. g.setNode("ellipse", { shape: "ellipse" });
  37. g.setNode("diamond", { shape: "diamond" });
  38. var svg = d3.select("svg"),
  39. inner = svg.select("g");
  40. // Set up zoom support
  41. var zoom = d3.zoom().on("zoom", function() {
  42. inner.attr("transform", d3.event.transform);
  43. });
  44. svg.call(zoom);
  45. // Create the renderer
  46. var render = new dagreD3.render();
  47. // Run the renderer. This is what draws the final graph.
  48. render(inner, g);
  49. // Center the graph
  50. var initialScale = 0.75;
  51. svg.call(zoom.transform, d3.zoomIdentity.translate((svg.attr("width") - g.graph().width * initialScale) / 2, 20).scale(initialScale));
  52. svg.attr('height', g.graph().height * initialScale + 40);
  53. </script>
  54. <script src="demo.js"></script>