0

価値のあるリンクを持つ強制有向グラフがあります。リンクの値に基づいてリンクを削除および追加するスライダー コントロールを配置しました (0.5 にスライドすると、重みが 0.5 以上のリンクのみが表示されます)。

これを行うには、通常、すべてのリンクを削除し、スライダーの基準に基づいて元に戻します。私が抱えている問題は、リンクをグラフに追加すると、ノードのTOPに表示されることです。

ノードを最高の「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 に答える