小编jsh*_*lkr的帖子

D3线图,任意多行(和特定数据格式)

我在使用D3时遇到了一些麻烦,而且我的机智已经结束了.基本上我有一个任意多行的时间序列图,并且为了方便起见,源数据不能被修改(但它可以在客户端操作).

因此格式化数据(任意多个标签):

object = [
{
  "_id": "2012-08-01T05:00:00",
  "value": {
    "label1": 1.1208746110529344,
    "label2": 0.00977592175310571
  }
},
{
  "_id": "2012-08-15T05:00:00",
  "value": {
    "label1": 0.7218920737863477,
    "label2": 0.6250727456677252
  },
  ....
Run Code Online (Sandbox Code Playgroud)

我尝试过类似的东西:

var vis = d3.select.(element)
    .append("svg:svg")
    .attr("width", width)
    .attr("height", height)
    .append("svg:g");

var line = d3.svg.line()
    .x(function(data) {return x(new Date(data._id));})
    .y(function(data) {return y(data.value);});


vis.append("svg:path")
    .attr("d", line(object))
    .attr("stroke", "black");
Run Code Online (Sandbox Code Playgroud)

这似乎无法通过y访问器访问正确的值,因为我得到"错误:解析问题"和大量"NaNL3.384615384615385,NaNL6.76923076923077,NaNL10.153846153846155".但是,如果我通过以下方式对标签值进行硬编码:

.y(function(data) {return y(data.value.label1);});
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但只适用于一行.有人可以提供帮助吗?

javascript d3.js

5
推荐指数
1
解决办法
1097
查看次数

标签 统计

d3.js ×1

javascript ×1