D3:无法在.datum()中设置正确的列

时间:2016-01-27 06:03:08

标签: javascript d3.js graphics

我正在挖掘D3.js并找到datum()函数。

That's my current testing page, based on some example.

Example data.

.datum()使用:

label.append("rect", "text")
      .datum(function() { return this.nextSibling.getBBox(); })
      .attr("x", function(d) { return d.x - (d.width*1.5)+labelPadding*2; })
      .attr("y", function(d) { return d.y + labelPadding; })
      .attr("width", function(d) { return d.width * 3; })
      .attr("height", function(d) { return height-d.y; })
      .attr("class", "pink_grad");

问题是我不能把列放好 - 他们的身高错了。 如何正确地做到这一点?

something went wrong

1 个答案:

答案 0 :(得分:0)

找到解决方案。工作代码:

label.append("rect", "text")
      .datum(function() { return this.nextSibling.getBBox(); })
      .attr("x", function(d) { return d.x - (d.width*1.5)+labelPadding*2; })
      .attr("y", function(d) { return d.y + labelPadding; })
      .attr("width", function(d) { return d.width * 3; })
      .attr("height", function(d,i) { return height-y(data[i].blue); })
      .attr("class", "pink_grad");

唯一的问题是水平对齐,这不是这个问题的一部分。

how fix this one?