2

ここでこの例を見ました http://www.d3noob.org/2013/03/d3js-force-directed-graph-example-basic.html 基本的な変更を加えることができる程度には理解できますが、変更されていません接続されているすべてのノードを強調表示 (色を変更) するという 1 つのことを具体的に行うことができます。たとえば、ノード 1 の上にマウスを置くか、ノード 1 をクリックすると、すべての隣接ノードが検出され、リンク パスが色を変えて強調表示されます。

既に回答されている svg の外側のボタンから d3 のノードをクリックすることを見ましたが、この例では機能しませんでした。

誰かがここで助けて、接続されたノード/リンクの検索を実現するために既存のコードを変更できるとありがたいです。

これが本当に非常に基本的な質問であり、ここで本当に明らかな何かが欠けている場合はお詫び申し上げます。

4

2 に答える 2

0

Drag Behavior Documentation を読むことをお勧めします: https://github.com/mbostock/d3/wiki/Drag-Behavior。したがって、ノードの色を変更する基本的な方法は、ドラッグ開始イベントでクラスを切り替えることです。たとえば、次の CSS を考えてみましょう。

.node {
  stroke: #000000;
  stroke-width: 1.5px;
}

circle.others{

 fill: #C0C0C0;    
} 

この例のためにノードを円として表現したことを考えると (これは d3 Force Directed Graph: http://bl.ocks.org/mbostock/4062045で行われます)、dragstart イベントを次のようなd3スクリプト:

function dragstart(d) { 
 d3.selectAll("circle").classed("others",true);  
 d3.select(this).classed("others", false); 

}   

これと同じ考え方をリンクにも適用できます。それが役立つことを願っています!

于 2014-01-10T03:59:56.230 に答える