Javascript Graphviz svg输出,未定位组

Javascript Graphviz svg输出,未定位组,javascript,jquery,svg,d3.js,Javascript,Jquery,Svg,D3.js,Graphviz给我的输出基本上如下所示: <svg> <g id="graph0" class="graph" transform="scale(0.138865 0.138865) rotate(0) translate(4 4648)"> <title>G</title> ... <g id="node36" class="node"> <title>SomeTitle</

Graphviz给我的输出基本上如下所示:

<svg>
  <g id="graph0" class="graph" transform="scale(0.138865 0.138865) rotate(0) translate(4 4648)">
    <title>G</title>
    ...
    <g id="node36" class="node">
      <title>SomeTitle</title>
      <g id="a_node36">
        <a>
          <ellipse cx="1225" cy="-3546" rx="85.1304" ry="18">
          </ellipse>
          <text x="1225" y="-3541.8">
          sometext</text>
        </a>
      </g>
    </g>
    ...
  </g>
</svg>

G
...
某物名称
一些文字
...
我不是Svg专家,但由于节点的内容相对于图形组而不是节点组进行定位,因此在节点上执行
缩放将产生不希望的结果。我是否必须在图表中“正常化”所有内容?Graphviz上有开关可以执行此操作吗

规范化算法是否将组元素的
x
y
描述的边界框左上角的值作为组的平移,并将成员调整到新坐标系

我使用的是jQuerySVG,以及D3——这两个版本中有没有一个规范化函数在这种情况下会有所帮助?
这似乎很痛苦,所以我不得不问为什么会出现这种情况。

由于文档的原点默认位于左上角,因此对节点进行直线缩放也会导致其移动

然而,除了节点集中在原点的特定情况外,其他情况都是如此。纠正这个问题相当简单。SVG转换可以通过一系列基本转换操作构建

要围绕图元的中心点缩放图元,只需执行以下操作:

  • 将中心点平移到原点:
    translate(-12253546)
  • 比例:
    比例(4)
  • 将其翻译回原始位置:
    translate(1225,-3546)
  • 
    G
    某物名称
    一些文字
    某物名称
    一些文字
    
    你在说什么样的秤?使节点在其当前位置变大?是的,在节点36处使用矩阵或比例等进行变换