d3更新了json加载但不访问新数据

时间:2018-02-23 14:54:19

标签: javascript json d3.js

我是个业余爱好者。请温柔。

我正在尝试构建的经验:绘制图表。删除SVG。加载新数据。画一张图表。

将会有十几个json文件,所有文件都具有相同的结构。我现在正在使用两个。

我发生了所有事情,直到更新和访问第二个json但是它无法绘制新的x轴,因为它

  

'无法读取未定义'

的属性'date'

它第一次读取日期。它挂在.tickValues上,我在json中访问第一个,中间和最后一个日期值...:

.call(d3.axisBottom(x)
    .tickValues([perf[start].date, perf[mid].date, perf[perflength-1].date])
    .tickFormat(d3.timeFormat("%m-%d-%y")))
    //...

这些是我在那里喂养的变量:

var perf = json.performance
var perflength = json.performance.length
var mid = perflength/2
var start = 0

perf.forEach(function(d) {
  d.date = parseTime(d.date);
});

虽然我怀疑如果我可以到那里它会继续抛出错误。 json的结构如下:

{
  "performance" : [
    {
      "date": "1-27-15",
      "company": 0,
      "index": 0
    },
    {
      "date": "1-28-15",
      "company": 5.7,
      "index": -0.9
    }, 
    //...
  ]
}

所以我的问题是我错过了哪一步让第二次json.performance未定义?

这是我的第一个问题,所以我不知道是否应该发布我的整个脚本文件。也许这可以从这里的信息中得到解答。如果你觉得它有用,我会加上它。

0 个答案:

没有答案