問題タブ [d3-force-directed]
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.
javascript - forcedSimulation に新しいノードを追加すると、transform-translate が新しいノードにのみ発生します
forceSimulation を使用して、d3 で動的な強制グラフを構築しようとしています。ハードコーディングされたノードとリンクを使用してグラフを作成すると、すべてのアイテムが期待どおりに作成されます。しかし、新しいノードを追加すると、すべての古いノードはその場所を変換しません。古いノードをドラッグすると、新しいノードのみが移動します(新しいノードを移動すると、期待どおりに移動します)。
シミュレーションのティックの方法を変更しようとしましたが、これを解決できませんでした。
関数 addNode() を実行すると、追加された新しいノードのみをドラッグできます。他のすべてのノードがスタックしており、それらをドラッグすると、新しいノードの位置のみが変更されます。どんな助けでも素晴らしいでしょう!ありがとう。
javascript - D3 Force-Directed Graph の既存のノードをジャンプ遷移なしで変更する
データベースからクライアント側に流れ込む処理済みデータの連続ストリームがあり、そこで D3 を使用して強制指向グラフをレンダリングしています。
何度も試した後、グラフは更新されているようです。基本的に、今のところ、円の半径は新しいデータから更新されます。
ただし、simulation.nodes(nodes_data) が nodes_data を受け取るたびに、グラフ全体が再初期化され、遷移が不安定になります。
さまざまな force.alphaTarget 値を変更してみました。
これは、シミュレーションの初期化に使用する関数です。
これは、シミュレーションを新しい nodes_data で更新するために使用する関数です。
ノード更新機能です
これは、リンクを更新するために使用される関数です
エラー メッセージは表示されません。それはただのびくびくしたグラフ遷移です。グラフの元の構成を保持し、ノードの半径を既存の位置で更新する必要があります。スムーズな体験をしたい。