0

我有一个带有有价值链接的力有向图。我放入了一个滑块控件,它根据链接的值删除和添加链接(滑动到 0.5,只显示权重为 0.5 和更高的链接)。

为此,我通常会删除所有链接并根据滑块标准将它们添加回来。我遇到的问题是,当我将链接添加回图表时,它们出现在节点的顶部。

我希望节点是最高的“z-index”,但我知道 SVG 没有 z-index。如何重新排序元素以使节点回到顶部?我查看了 d3.select.order() 和 d3.select.sort() 但我不太确定如何使用它们来完成这种重新排序。

4

1 回答 1

0

我建议将 display 属性设置为 none 而不是添加和删除节点。

或者,如果您有离散数量的权重,您可以使用 CSS 来完成,如下所示:

<svg xmlns="http://www.w3.org/2000/svg"
     xmlns:xlink="http://www.w3.org/1999/xlink">
  <style type="text/css">
    <!-- Hide all links with weights that we don't want -->
    .weight0,.weight2,.weight4,.weight6 {display:none}
  </style>
  <a xlink:href="#" class="weight0">
    <text y="20">weight 0</text>
  </a>
  <a xlink:href="#" class="weight2">
    <text y="40">weight .2</text>
  </a>
  <a xlink:href="#" class="weight4">
    <text y="60">weight .4</text>
  </a>
  <a xlink:href="#" class="weight6">
    <text y="80">weight .6</text>
  </a>
  <a xlink:href="#" class="weight8">
    <text y="100">weight .8</text>
  </a>
  <a xlink:href="#" class="weight10">
    <text y="120">weight 1</text>
  </a>
</svg>
于 2012-11-15T15:50:13.720 回答