为什么我的坐标仅在我的圆圈定义中未定义?

时间:2016-01-22 08:03:13

标签: javascript d3.js

我有一组定义为

的圈子
 nodes = [{
        x: xRange(xvalue),
        y: yRange(getY(xvalue)),
        ... 
}]

vis.selectAll(".nodes")
    .data(nodes)
    .enter().append("circle")
    .attr("class", "nodes")
    .attr("cx", function (d) {
        return d.x;

        (coordinate display)
    })
    .attr("cy", function (d) {
        return d.y;
    })
    .attr("r", "7px")
    .attr("fill", "black")
    .attr("transform", function (p) {
        return "translate(" + p.x + "," + p.y + ")";
    })

我对这些圈子的问题是,在定义圆圈时,nodes取得的坐标未定义,尽管在其他地方定义了圆圈。 Here是表示此问题的测试用例,其中应显示其中一个点的坐标,但不是,因为它似乎未定义。为了证明轴有效,我在图的第一象限中放了一个点。有没有理由说明为什么会这样?

1 个答案:

答案 0 :(得分:1)

在运行逻辑之前你正在返回:

.attr("cx", function (d) {
        return d.x;
        (coordinate display)
    })

更改为:

.attr("cx", function (d) {
           (coordinate display)
           return d.x;
        })