d3.js时间序列图表上的标签

时间:2014-12-30 17:01:19

标签: javascript d3.js

我一直在制作d3.js时间序列折线图。

我正在使用d3.nest,然后循环遍历嵌套组以创建每一行。

完整代码Here

我想要做的是让每个行的标签(国家/地区名称)显示在最后一次观察位置的y轴上(由credit给出)。为了找到这个位置,我使用:

dataNest.forEach(function(d) {
    var position = d.values[6].credit;
    console.log("Selected Value", position);

然后在我追加文字时将position传递给.attr("y", y(position))

我遇到的问题是从d.values[6].credit返回的位置是正确的,因为在控制台中已记录。但是我得到了一个

Uncaught TypeError: Cannot read property 'credit' of undefined

错误。这导致轴未被绘制。

(最终我希望标签出现在mouseover上,但那是另一天的。)

1 个答案:

答案 0 :(得分:0)

斯洛伐克共和国只有2个数据点:

Slovak Republic,SK,Jan 2007,100
Slovak Republic,SK,Jan 2008,105.2

而不是硬编码6,只需使用:

var position = d.values[d.values.length-1].credit;

示例here