好的,所以我需要构建几个条形图,在第一个条形图和其他条形图之间有一条黄线。
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);
所以,这样,这条线或多或少处于我需要的位置,但是如果条形图的数量发生变化(并且它发生了)并因此条形图的高度发生变化,它显然会偏离位置并最终落在条形图的后面。
关于如何找到价值的任何想法?