【发布时间】:2016-05-07 17:08:43
【问题描述】:
当您想在 d3 中制作图表并从 json 文件(例如)读取输入时,代码大致如下:
d3.json("data/data.json", function(error, data) {
data.forEach(function(d) {
d.date = parseDate(d.date);
d.close = +d.close;
});
// Scale the range of the data
x.domain(d3.extent(data, function(d) { return d.date; }));
y.domain([0, d3.max(data, function(d) { return d.close; })]);
svg.append("path") // Add the valueline path.
.attr("d", valueline(data));
svg.append("g") // Add the X Axis
.attr("class", "x axis")
.attr("transform", "translate(0," + height + ")")
.call(xAxis);
svg.append("g") // Add the Y Axis
.attr("class", "y axis")
.call(yAxis);
});
在我从 d3noob.org 获得的这个特定示例中,有一个 json 文件,其中包含具有 2 个键(日期和关闭)的对象。如果我不知道 json 文件的键名并且必须使用字符串变量怎么办?例如:
d3.json("data/data.json", function(error, data) {
var var1 = "date";
var var2 = "close";
data.forEach(function(d) {
d.var1 = parseDate(d.var1);
d.var2 = +d.var2;
});
我试过这样做,但控制台给了我一个错误
d3.min.js:1 错误:属性 d:预期数字, "M0,NaNL106,NaNL212,..."。
我在这里做错了什么?
【问题讨论】:
标签: javascript json d3.js