2

我正在尝试使用 DOT 语言使用 Graphviz 生成图形并将 Javascript 应用于图形。

问题是在特定级别(即父母/孩子)构建节点和边。生成的 svg 看起来(伪)如下:

<svg>
   <g>Node 1</g>
   <g>Node 2</g>
   <g>Node 3</g>
   <g>Edge 4</g>
   <g>Edge 5</g>
</svg>

我想使用 javascript 和 JQuery 来切换节点。当我单击节点 1 时,应显示边缘和子级(第一级),而不是子级子级等。

$("#SVGContainer").on("click", "g.node", function(){
   $(this).siblings().toggle();
});

所以,我的问题是如何编写 DOT。所以 graphviz 会生成 SVG 以便我可以使用 sibblings 函数?

输出应该是这样的:

<svg>
   <level1>
      <g>Node 1</g>
      <g>Edge 4</g>
      <g>Edge 5</g>
   </level1>
   <level2>
      <g>Node 2</g>
      <g>Node 3</g>
   </level2> 
</svg>

提前致谢!

编辑:简化问题。我可以使用 DOT 语言将元数据添加到 SVG 图像(g 标签)吗?如何?

4

0 回答 0