【问题标题】:merging arraying in d3.js在 d3.js 中合并排列
【发布时间】:2016-05-26 14:09:16
【问题描述】:

我的elex.csv 是这种格式

"CONUM","PIXPMK","PIXMAR"

"1","461","436"
"2","398","428",
"3","447","436"

我想要这种格式的数据集-

var dataset1 = [ [1, 417], [1, 436], [2, 398], [2, 428], [3, 447], [3, 436]];

我已经尝试过几次以这种形式从 csv 获取数据,但都是徒劳的。我附上我的代码

var dataset1 = [];

d3.csv("elex.csv", function(data) {
   dataset1 = data.map(function(d) { return [ [+d["CONUM"], +d["PIXMAR"]],[+d["CONUM"],+d["PIXPMK"]]]; });
console.log(dataset1)
});

这会返回dataset1

[[[1,417],[1,436]],[[2,398],[2,428]]]

【问题讨论】:

    标签: javascript arrays d3.js


    【解决方案1】:

    遍历每个元素,将第一部分和第二部分分别推入dataset1

    dataset1 = [];
    d3.csv("elex.csv", function(data) {
      data.forEach(function(d) {
        dataset1.push([d['CONUM'], d['PIXMAR']]);
        dataset1.push([d['CONUM'], d['PIXPMK']*100])
      });
      console.log(dataset1);
    });
    

    【讨论】:

    • 为什么要乘以 100 ??
    • @thatOneGuy,这是 OP 使用的计算
    • 你能告诉我整个代码吗...我试过这个..但是遇到了一些问题
    • 意识到我看错了。这是您在 PLNKR 中实现的:plnkr.co/edit/WerxLZgyLrr7PJt3YAYw?p=preview
    • @KuhuGupta,d3 帮助您将数据绑定到您构建的图形。你可以构建任何你能想象到的图形,这很强大,但与其他图表库不同,你必须做一些额外的工作。 this link 将帮助您开始
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2010-11-12
    相关资源
    最近更新 更多