【发布时间】:2018-08-03 16:03:38
【问题描述】:
我是业余爱好者。请温柔一点。
我正在尝试建立的经验:绘制图表。删除 SVG。加载新数据。绘制图表。
会有十几个 json 文件,所有结构都相同。我现在用两个。
我已经完成了更新和访问第二个 json 的所有事情,但是它无法绘制新的 x 轴,因为它
'无法读取未定义的属性'日期'
它第一次读取日期。它挂在 .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 第二次未定义?
这是我的第一个问题,所以我不知道是否应该发布我的整个脚本文件。也许这可以从这里的信息中得到回答。如果你觉得有帮助,我会添加它。
【问题讨论】:
-
谢谢@Shashank。我创建了一个小提琴并用 myjson 托管了两个 json,但我认为我错过了让小提琴访问这些的步骤。小提琴是linkhere
-
好的。谢谢。我会尽快回复你。
-
很抱歉,我忙于自己的工作,无法回复。无论如何,很高兴问题已得到解决。
标签: javascript json d3.js