我正在尝试在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/
答案 0 :(得分:1)
数据集是一个对象数组,每个对象都有一个字段y
,该字段是数字,而不是字符串
var dataset = [
{y: 1},
{y: 6},
{y: 10}
];
//var dataset = JSON.stringify(obj);
console.log(dataset);