d3をv4に更新した後のノード位置の問題

スティーブ

「フォースレイアウトの変更」の例をd3v4に更新したいと思います。実用的な例はhttps://bl.ocks.org/mbostock/1095795です

ただし、そうすると、ノードが左上隅に表示されます。これを修正するにはどうすればよいですか?あなたはhttps://bl.ocks.org/stevescc/f964f8f4658bc11319765f83f67b7f9fで私のフォークを見ることができます

フォークで行った変更を確認するには、こちらを参照してください私の知る限り、私が行った変更は、v4への変更によって引き起こされたものだけです。

以下は完全を期すための完全なindex.htmlです。

<!DOCTYPE html>
<meta charset="utf-8">
<style>

.link {
  stroke: #000;
  stroke-width: 1.5px;
}

.node {
  fill: #000;
  stroke: #fff;
  stroke-width: 1.5px;
}

.node.a { fill: #1f77b4; }
.node.b { fill: #ff7f0e; }
.node.c { fill: #2ca02c; }

</style>
<body>
<script src="//d3js.org/d3.v4.js"></script>
<script>

var width = 960,
    height = 500;

var color = d3.scaleOrdinal(d3.schemeCategory10);

var nodes = [],
    links = [];

var force = d3.forceSimulation()    
    .nodes(nodes)
    .force("link", d3.forceLink(links)
        .distance(120))
    .force("charge", d3.forceManyBody().strength(-400))
    .force("X", d3.forceX().x(width/2))
    .force("Y", d3.forceY().y(height/2))
    .on("tick", tick);

var svg = d3.select("body").append("svg")
    .attr("width", width)
    .attr("height", height);

var node = svg.selectAll(".node"),
    link = svg.selectAll(".link");

// 1. Add three nodes and three links.
setTimeout(function() {
  var a = {id: "a"}, b = {id: "b"}, c = {id: "c"};
  nodes.push(a, b, c);
  links.push({source: a, target: b}, {source: a, target: c}, {source: b, target: c});
  start();
}, 0);

// 2. Remove node B and associated links.
setTimeout(function() {
  nodes.splice(1, 1); // remove b
  links.shift(); // remove a-b
  links.pop(); // remove b-c
  start();
}, 3000);

// Add node B back.
setTimeout(function() {
  var a = nodes[0], b = {id: "b"}, c = nodes[1];
  nodes.push(b);
  links.push({source: a, target: b}, {source: b, target: c});
  start();
}, 6000);

function start() {
  link = link.data(force.force('link').links(), function(d) { return d.source.id + "-" + d.target.id; });
  link.enter().insert("line", ".node").attr("class", "link");
  link.exit().remove();

  node = node.data(force.nodes(), function(d) { return d.id;});
  node.enter().append("circle").attr("class", function(d) { return "node " + d.id; }).attr("r", 8);
  node.exit().remove();

  force.restart();
}

function tick() {
  node.attr("cx", function(d) { return d.x; })
      .attr("cy", function(d) { return d.y; })

  link.attr("x1", function(d) { return d.source.x; })
      .attr("y1", function(d) { return d.source.y; })
      .attr("x2", function(d) { return d.target.x; })
      .attr("y2", function(d) { return d.target.y; });
}

</script>
スティーブ

ブロックがd3v4に更新されます(https://bl.ocks.org/mbostock/1095795)。そして問題は、入力された要素をmerge既存の要素とマージ(関数)する必要があることでした

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

D3 v4 の更新パターンを使用してネストされた子ノードを更新する方法

分類Dev

v4でのd3ズーム機能の問題

分類Dev

d3インタラクティブ行列散布図をv4に更新する際の問題

分類Dev

D3をv4からv6にアップグレードした後、軸がグラフの中心に移動します

分類Dev

d3ツリー構造階層内の特定のノードの後にすべてのノードの位置を変換したい

分類Dev

D3 v4 更新棒グラフが最後の棒をプロットしない

分類Dev

いくつかのノードを削除した後のD3SVG遷移の問題

分類Dev

d3 v4の強制レイアウトで更新が必要なネストされたノードを構築するにはどうすればよいですか?

分類Dev

D3.JS V4は、データを追加/更新した後にグラフ要素を更新します

分類Dev

Xcodeのファイルからシーンをロードした後の非整数ノード位置の問題

分類Dev

d3 v4でラベル付きのノードをドラッグすると、レイアウトの不具合が発生します

分類Dev

位置の更新後、D3強制リンクがノードに接続されていません

分類Dev

変換後のD3ノードの画面位置の取得

分類Dev

リンクとノード数の関数としてd3リンク強度をどのようにカスタマイズしますか?(d3 v4)

分類Dev

D3の力指向グラフ(v4)はノードとしてimgを受け入れていません

分類Dev

javascriptを使用した折れ線グラフでのd3ツールチップの位置の問題

分類Dev

d3ツリーノードの遷移を理解するのに問題がある

分類Dev

d3.js v4:ノードをマウスでクリックした後に画像を表示する方法

分類Dev

D3力指向グラフ:ノード位置の更新

分類Dev

d3ツリーノードにツールチップを追加する際の問題

分類Dev

D3 v4:グラフ作成ツール:列の後ろに水平グリッド線を送信する方法

分類Dev

D3 v4はネストされたオブジェクトを再レンダリングし、 `enter()`と `exit()`に問題があります

分類Dev

このd3コードはどのようにv3からv4に更新されますか?

分類Dev

VisualStudioでCordovaを3から2に更新した後の問題

分類Dev

データを更新した後、D3グラフの位置を保持します

分類Dev

D3バージョン4を使用したテーブルのデータ読み込みの問題

分類Dev

Angular-4 d3 v4問題:プロパティ「x」がタイプ「HierarchyNode」に存在しません

分類Dev

v1.6.3からIdentityServer3v2.5にアップグレードした後のGetProfileDataAsyncの問題

分類Dev

D3 Force Directed Layoutのノード位置を修正

Related 関連記事

  1. 1

    D3 v4 の更新パターンを使用してネストされた子ノードを更新する方法

  2. 2

    v4でのd3ズーム機能の問題

  3. 3

    d3インタラクティブ行列散布図をv4に更新する際の問題

  4. 4

    D3をv4からv6にアップグレードした後、軸がグラフの中心に移動します

  5. 5

    d3ツリー構造階層内の特定のノードの後にすべてのノードの位置を変換したい

  6. 6

    D3 v4 更新棒グラフが最後の棒をプロットしない

  7. 7

    いくつかのノードを削除した後のD3SVG遷移の問題

  8. 8

    d3 v4の強制レイアウトで更新が必要なネストされたノードを構築するにはどうすればよいですか?

  9. 9

    D3.JS V4は、データを追加/更新した後にグラフ要素を更新します

  10. 10

    Xcodeのファイルからシーンをロードした後の非整数ノード位置の問題

  11. 11

    d3 v4でラベル付きのノードをドラッグすると、レイアウトの不具合が発生します

  12. 12

    位置の更新後、D3強制リンクがノードに接続されていません

  13. 13

    変換後のD3ノードの画面位置の取得

  14. 14

    リンクとノード数の関数としてd3リンク強度をどのようにカスタマイズしますか?(d3 v4)

  15. 15

    D3の力指向グラフ(v4)はノードとしてimgを受け入れていません

  16. 16

    javascriptを使用した折れ線グラフでのd3ツールチップの位置の問題

  17. 17

    d3ツリーノードの遷移を理解するのに問題がある

  18. 18

    d3.js v4:ノードをマウスでクリックした後に画像を表示する方法

  19. 19

    D3力指向グラフ:ノード位置の更新

  20. 20

    d3ツリーノードにツールチップを追加する際の問題

  21. 21

    D3 v4:グラフ作成ツール:列の後ろに水平グリッド線を送信する方法

  22. 22

    D3 v4はネストされたオブジェクトを再レンダリングし、 `enter()`と `exit()`に問題があります

  23. 23

    このd3コードはどのようにv3からv4に更新されますか?

  24. 24

    VisualStudioでCordovaを3から2に更新した後の問題

  25. 25

    データを更新した後、D3グラフの位置を保持します

  26. 26

    D3バージョン4を使用したテーブルのデータ読み込みの問題

  27. 27

    Angular-4 d3 v4問題:プロパティ「x」がタイプ「HierarchyNode」に存在しません

  28. 28

    v1.6.3からIdentityServer3v2.5にアップグレードした後のGetProfileDataAsyncの問題

  29. 29

    D3 Force Directed Layoutのノード位置を修正

ホットタグ

アーカイブ