如何返回数据在数据集中的数字位置?

时间:2019-07-13 17:58:27

标签: javascript database d3.js

首先,我对这个问题有多么愚蠢感到抱歉。

我正在研究Scott Murray撰写的“ Web交互式数据可视化”中的早期示例。

其中一项练习只是展示d3如何基于数据集中的数据点创建文本段落。

我正在尝试找出如何返回数据集内数据点的数字位置以整合到该段中。

例如,对于数据集[5、10、15],我正在寻找以下三段的结果:

数据点1的值为5。

数据点2的值为10。

数据点3的值为15。

如何用代码表达1、2、3?

var dataset = [ 5, 10, 15, 20, 25 ];

d3.select("body").selectAll("p")
    .data(dataset)
    .enter()
    .append("p")
    .text(function(d) { return "The value of datapoint " + **what would I write here to return 1, 2, 3 etc. depending on the position of each datapoint within the dataset** "is " + d; });

1 个答案:

答案 0 :(得分:0)

function(d)函数中尝试用function(d, i)替换texti是该项的索引。您可以为.attr.style等进行此操作。

所以您的代码如下:

var dataset = [ 5, 10, 15, 20, 25 ];

d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.text(function(d, i) { return "The value of datapoint " + i + " is " + d; })