用我自己的JSON替换javascript随机数生成器

时间:2018-10-06 08:07:30

标签: javascript json d3.js

我正在尝试在D3图形中显示我的数据。我遵循了该教程,并最终获得了以下代码:

  // 8. An array of objects of length N. Each object has key -> value pair, the key being "y" and the value is a random number
  var dataset = d3.range(n).map(function(d) {
    return {
      "y": d3.randomUniform(1)()
    }
  })

我想输入自己的JSON数据,而不是随机生成数字。这是我尝试过的:

var obj = {
    y: "1",
    y: "6",
    y: "10"
};

var dataset = JSON.stringify(obj);

但是,当我这样做时,它不起作用。为了进行比较,这是旧代码吐出来的内容(来自console.log):

0: {y: 0.8863000631639524}
1: {y: 0.730344915698621}
2: {y: 0.23216952106703048}
3: {y: 0.6065558075691728}

这是我的新代码吐出的内容:

(3) [{…}, {…}, {…}]
(index):119 {"y":"10"}
d3.v5.min.js:2 Error: <path> attribute d: Expected number, "M0,NaNC0,NaN,0,NaN,…".

完整的代码在第41行: http://jsfiddle.net/spadez/mt1rngqo/13/

1 个答案:

答案 0 :(得分:1)

数据集是一个对象数组,每个对象都有一个字段y,该字段是数字,而不是字符串

var dataset = [
    {y: 1},
    {y: 6},
    {y: 10}
];


//var dataset = JSON.stringify(obj);

console.log(dataset);