d3.js:can';不能让填充物在RangeRoundBand上工作?
我试图在条形图之间画一个带填充的条形图,但是我无法让d3.js:can';不能让填充物在RangeRoundBand上工作?,d3.js,D3.js,我试图在条形图之间画一个带填充的条形图,但是我无法让rangeRoundBands插入填充,所以我做错了什么 这是我的代码: var x0 = d3.scale.ordinal() .rangeRoundBands([margin.left, width], 0.1, 0.1); ... ap_bars.transition().duration(1000) .attr("x", function(d, i) { return i * x0.rangeBand(); })
rangeRoundBands
插入填充,所以我做错了什么
这是我的代码:
var x0 = d3.scale.ordinal()
.rangeRoundBands([margin.left, width], 0.1, 0.1);
...
ap_bars.transition().duration(1000)
.attr("x", function(d, i) {
return i * x0.rangeBand();
})
.attr("width", x0.rangeBand());
但所有的铁条都堆在一起了
JSFiddle here:您正在使用正确的填充来更改标注栏的大小,但是绘制这些条的方式也会将它们并排放置在一起。当你增加填充物时,你会发现这些条变得越来越细,但却保持在一起 您不需要使用基于数据索引的常量(
i*x0.rangeBand()
),而需要基于缩放数据定位条形图:(x0(d)
)。您可能需要调整条的位置,以便条的中心是每个条带的中心:(x0(d)-x0.rangeBand()*0.5
)