在D3.js中使用数组作为输入数据

时间:2016-01-04 02:13:07

标签: javascript json d3.js

我已经构建了一个使用旧的REST api的自定义D3图表,我正在寻找有关如何使D3输入适应新的API的帮助。 在http://codepen.io/anon/pen/bEgMdV我使用数据集'数据集'我试图使用'数据'哪有基因'和'数据集'在一个。

到目前为止,我已尝试更改

var gs = svg.selectAll("g")
.data(d3.values(dataset)).enter().append("g");
gs.selectAll("path").data(function(d) {
        return pie(d.data);

var gs = svg.selectAll("g")
.data(d3.values(data.values)).enter().append("g");
gs.selectAll("path").data(function(d) {
        return pie(d[0]);

为了获得数值中的数字'。 我觉得我有点接近这个。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

其中一种方法是将新数据转换为旧数据结构,这样您就不需要更改代码。

此for循环会将新数据更改为预期的旧数据结构。

genes = [];

dataset = [{data:[], gene:"LPAR"}];
data.values.forEach(function(s){
  genes.push(s[0]);//iterate and add the gene
  dataset[0].data.push(s[1])//iterate and add the values.
});

工作代码here

希望这有帮助!