好的,所以我需要建立几个位于第一个栏和其他栏之间的黄色线条。
var y = d3.scale.ordinal()
.rangeRoundBands([0, height], .2);
...
svg.selectAll(".bar")
.data(data)
.enter().append("rect")
.attr("class", function(d) { return "bar " + d.label; })
.attr("id", function(d){return d.label})
.attr("x", function(d) { return x(Math.min(0, d.value)); })
.attr("y", function(d) { return y(d.label); })
.attr("width", function(d) { return Math.abs(x(d.value) - x(0)); })
.attr("height", y.rangeBand());
这就是我正在尝试构建黄线的地方:
svg.append("line")
.attr("class", "yellow")
.attr("x1", 0 )
.attr("x2", width )
.attr("y1", y.rangeBand() + 14)
.attr("y2", y.rangeBand()+14);
所以,这样,线条或多或少处于我需要的位置,但是如果杆的数量发生变化(并且它发生)并且因此杆的高度发生变化,它显然会偏离位置并最终落后于酒吧。
关于如何找到价值的任何想法?