問題タブ [force-layout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
19161 参照

d3.js - d3.jsでツリーの子ノードを折りたたむ/展開しますか?

私はツリー構造を構築しています(または、独自のjson内の独自のデータのセットを使用して例の1つを変更しています)、いくつかの機能を作成しようとしています:

私のツリーのレイアウトは、ツリーの例からのものです: http://mbostock.github.com/d3/ex/cluster.html

クリックしたノードの子を折りたたむ onclick イベントを (円に) 追加しています。つまり、ユーザーがノードに関連付けられたスチールブルーの円をクリックすると、そのノードの子が消えます。

ドキュメントを精査しましたが、ノードを折りたたんだり消したりできるようなものは見つかりませんでした。

どうすればよいですか?

0 投票する
3 に答える
31549 参照

d3.js - 境界ボックスを使用した D3 力指向レイアウト

私は D3 を初めて使用し、フォース ディレクテッド レイアウトの境界を設定するのに問題があります。私が望むものを(例から)なんとかまとめましたが、グラフを含める必要があります。ティック関数では、変換/変換によってグラフが正しく表示されますが、cx と cy を Math.max/min で使用すると (コメント付きのコードを参照)、行が適切に含まれている間にノードが左上隅に固定されます。

これが私が下に持っているものです...私は何を間違っていますか??

0 投票する
1 に答える
4387 参照

javascript - d3とその力のレイアウトを使用してツリーを構築するにはどうすればよいですか?

ノードをツリーの形で配置しようとしています。今のところ、私はここからこの例に取り組んでいます。現在、力指向のレイアウトに依存していますが、所定のレベル数のツリーを取得できるように変更しようとしています。つまり、ノードが特定の「レイヤー」に属している場合、他のノードと同じエリアに属している必要があります。レイヤー。

下の写真でもっと説明しようとしましたが、誰かがこれについて何か提案がありますか?d3これを行う、またはこれを達成するために微調整できる事前定義されたアルゴリズムはありますか?

ここに画像の説明を入力してください

0 投票する
1 に答える
8590 参照

graph - サイズに基づく料金-d3フォースレイアウト

を使用して力指向グラフを作成しようとしていd3.layout.forceますが、コンテナのサイズを変更できる必要があります。つまり、サイズに基づいて適切な電荷とlinkDistanceの値を計算できるようにするか、d3で計算してもらいたいのです。魔法の方法。

ノードのみを使用する試みを行いました(リンク:http://jsfiddle.net/VHdUe/6/ )。円の半径全体にフィットするノードの数に基づいた値に料金を設定しています。

このソリューションは一部の中型コンテナで機能しますが、[サイズ変更]を数回クリックすると、すべてのサイズで実際に機能するとは限らないことがわかります...

私が見ることができる唯一の方法は、svgスケール変換を使用することです。これは、私の要素のサイズを不利に台無しにします。他のオプションはありますか?

PS: http: //mbostock.github.com/d3/talk/20110921/bounding.html (バウンディングボックスを使用したD3の力指向レイアウトへの回答)を見たことがありますが、重力ベースのソリューションが必要です。バウンディングボックス1。

0 投票する
1 に答える
4333 参照

javascript - d3 force-directed グラフの JSON で、ノード、グループ、および値は何を意味しますか?

d3 力指向グラフ ( http://mbostock.github.com/d3/ex/force.html ) を作成しようとしています。これは、私のデータを含む単純な JSON ファイルです。

同じグループに 2 つのノードがあります。2 つのノード間のリンクも作成しようとしています。ただし、ページは空白のままです (JSON 以外の部分は正しいと確信しています)。

「グループ」とは何ですか?エッジに「ソース」と「ターゲット」の両方があるのはなぜですか? また、これらの値は何ですか? リンクに「価値」があるのはなぜですか? リンクは重み付けされていないエッジだけではありませんか? データ ストレージの JSON 構造がよくわかりません。

0 投票する
1 に答える
2534 参照

javascript - d3の力指向グラフにエッジが表示されないのはなぜですか?

d3を使用して単純な力指向グラフを作成しました:http://goo.gl/afHTD

グラフのエッジが表示されないのはなぜですか?これが私のHTMLファイル全体です。もちろん、リンク先のページでソースを表示することで、それを確認し、いじくり回すこともできます。これは、d3Webサイトの例に基づいています。

var link...エッジを表示するべきではありませんか?私のJSONファイルも非常に単純です。

0 投票する
1 に答える
16524 参照

javascript - d3.js ノードを翻訳するにはどうすればよいですか?

ノードのグループを含む d3 強制指向グラフがあります。

これはうまくレンダリングされます。

dividで詳細を表示するときに、これらのノードを 200 ピクセル右に移動 (移動) したいと思いますdetail_container

次のことを試しましたが、表示してもノードに何も起こりませんdetail_container(詳細を表示する以外div):

d3.selectAll("g.node")ステートメントにはノード データが含まれており、コンソールのデータを見て確認できます。

別のアプローチとして、ズーム/パン動作をグラフに追加しました。

これはうまくいきます。ただし、これは私のプログラムで発生するイベントではなく、マウスと対話するため、ズーム/パン動作を呼び出すプログラムによる方法はありますか?

0 投票する
2 に答える
3306 参照

javascript - D3.js の Force-Directed Layout Append の NaN

JSONファイルからデータを取得するD3で強制指向レイアウトを使用しています。次に、ノードの1つがダブルクリックされると、データベースにクエリを実行してそのノードへのリンクを見つけ、追加しようとしているリンクとノード配列を更新しますViz への新しいデータ。ノードがリンクなしで追加された場合、それらは正常に動作するようですが、xy 座標へのリンクは NaN になります。ここで効果を確認できます。ノードの 1 つをダブルクリックするだけです。

http://blockses.appspot.com/2432083

0 投票する
1 に答える
762 参照

d3.js - マーカー付きの力グラフ上の D3 魚眼

新しいフィッシュアイ プラグイン (http://bost.ocks.org/mike/fisheye/) が気に入っていますが、線ではなくパスとマーカーを使用するフォース グラフで動作させたいと考えています。私は D3 を初めて使用し、これまでのところマーカーのデモと魚眼レンズのデモを組み合わせることで私を打ち負かしました。成功した人がいて、正しい方向に向けることができるかどうか疑問に思いました。

乾杯ベン