0

好的,所以我需要构建几个条形图,在第一个条形图和其他条形图之间有一条黄线。

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);

所以,这样,这条线或多或少处于我需要的位置,但是如果条形图的数量发生变化(并且它发生了)并因此条形图的高度发生变化,它显然会偏离位置并最终落在条形图的后面。

关于如何找到价值的任何想法?

4

0 回答 0