d3中堆栈和嵌套函数的区别?

时间:2016-05-19 07:39:32

标签: javascript d3.js svg

我正在尝试根据我的数据集获取this图表。见this jsfiddle。对我来说,数据集不是一个对象数组,它是一个整数数组,它将表示我的y轴,这些值的索引将取消我的x轴(基本上是一组连续的值)。

我认为我没有得到嵌套和堆栈功能的确切目的。或者我认为我没有以正确的方式填充data1:

 var data1=[]
    data.forEach(function(v, i) {
  var d = {}
    d.x = i;
    d.y = v;
    data1.push(d);
  });

任何人都可以帮我理解我哪里出错了。提前致谢

1 个答案:

答案 0 :(得分:1)

以下是我所做的:https://jsfiddle.net/thatOneGuy/0xhmphgw/5/

基本上你展示的例子我将它转换为JSON,这就是其中一个数据元素:

{
    "key": "Group2",
    "value": 12,
    "date": "04/23/12"
  }

因此,我将您的数据更改为类似:

var data = [];

oldData.forEach(function(d, i) {
  //console.log(d)

  d.forEach(function(e, j) {

    var thisData = {}
    thisData.key = i; //i is which group it is in (0,1,2 of the array)
    thisData.value = e; //value is the integer
    thisData.date = j; //date (used to keep similar to example) is what index it is in current array
    data.push(thisData)

  })

})

现在您的新数据与此类似:

{
  date:0,
  key:0,
  value:48746453, 
}

希望你理解。基本上,您需要操纵数据以使其符合所提供的示例。