定义圆坐标时添加到当前的attr cx值

时间:2018-09-19 00:13:29

标签: javascript d3.js

下面给出的代码是我定义在图形上绘制点的位置的代码。问题是,我通过xMap实现的价值略有下降,因此我想为其添加10点。但是,这不可能,因为xMap不是简单的数字值。

var dot = svg.selectAll("circle")
.data(data3)
.enter().append("circle")
.attr("class", "dot")
.attr("r", 7)
.attr("cx", xMap)
.attr("cy", yMap)
.style("fill", "rgb(0,0,0)")

下面给出的是到达xMap的代码:

var y = d3.scale.linear()
.domain([0, 100])
.range([height, 0]);
var xValue = function(d) {return d.Score;}
var xMap = function(d) { return x(xValue(d));}

理想情况下,我想说

.attr("cx", xMap + 5)

但这会导致错误“错误:属性cx:预期长度,“ function(d){re ...” ......“

谢谢!

1 个答案:

答案 0 :(得分:-2)

您可以使用以下解决方案来解决您的问题:

var dot = svg.selectAll("circle")
    .data(data3)
    .enter().append("circle")
    .attr("class", "dot")
    .attr("r", 7)
    .attr("cx", d => x(d.Score) + 5)
    .attr("cy", d => y(d.value))
    .style("fill", "black");