如何在d3中获得包含填充的条形宽度?

时间:2015-06-15 20:50:54

标签: javascript d3.js charts

我的条形宽度是条形的宽度,包括填充。

在这种情况下,它返回rangeBand返回29.03

var x = d3.scale.ordinal()
    .domain([0, 1, 2])
    .rangeBands([0, 100], 0.1);
console.log(x.rangeBand());

如果我有0填充,则返回33.33

如何获得包括填充的宽度?

2 个答案:

答案 0 :(得分:1)

对于d3.js v4,对于您使用以下内容定义x尺度的条形图:

var x = d3.scaleBand().range([0, n]).padding(0.25).domain( ... )

使用x.step()得到条形+填充的实际宽度值,使用x.padding() * x.step()得到填充的宽度值

答案 1 :(得分:-1)

而不是硬编码传递变量。 例如

var padding =10;
var width = 100;
var rw = width + padding;

所以你的代码将是

var x = d3.scale.ordinal()
    .domain([0, 1, 2])
    .rangeBands([0, rw ], 0.1);
console.log(x.rangeBand());