小编Zuh*_*med的帖子

D3 - 如何在数据值更改时更新力模拟

我在 D3 中遇到了一个关于力模拟的小问题。

我有代表每个国家从 1998 年到 2008 年的贫困率的数据。这是一个气泡图,分为三个集群,分别代表贫困国家、非贫困国家和没有信息的国家。

最初加载应用程序时,它会加载 1998 年的数据。但是,我在顶部有一些按钮,点击后会改变年份,随后气泡应该重新排列。我所能做的就是,当单击按钮时,我更改了一个变量year。但是,在year整个代码中都使用了一些函数和变量。当year发生变化时,我想重新计算所有依赖的节点属性和力参数year

这是我的代码。如果您想尝试一下,我已经包含了所有内容。数据文件在这篇文章的末尾。

 async function init() {
    // Set up the canvas
    var height = 1000,  width = 2000;
    var svg = d3.select("#panel1").append("svg")
        .attr("height", height)
        .attr("width", width)
        .attr("class", "bubblePanel");

    var canvas = svg.append("g")
        .attr("transform", "translate(0,0)");

    // Choose what year to look at, based on button clicks.
    var year = "X1998"
    d3.select("#b1998").on("click", function() { 
        year = "X1998"
        console.log(year)
        // NOTIFY SIMULATION OF CHANGE //
    }) …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js force-layout

6
推荐指数
1
解决办法
3413
查看次数

标签 统计

d3.js ×1

force-layout ×1

javascript ×1