Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获得d3中包含填充的条的宽度?_Javascript_D3.js_Charts - Fatal编程技术网

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

Javascript 如何获得d3中包含填充的条的宽度?,javascript,d3.js,charts,Javascript,D3.js,Charts,我有一个包括填充物在内的条宽的顺序刻度 在这种情况下,它返回量程返回29.03 var x = d3.scale.ordinal() .domain([0, 1, 2]) .rangeBands([0, 100], 0.1); console.log(x.rangeBand()); 如果我有0填充,它将返回33.33 如何获得包含填充的宽度?而不是对变量进行硬编码传递。 比如说 var padding =10; var width = 100; var rw = width +

我有一个包括填充物在内的条宽的顺序刻度

在这种情况下,它返回
量程
返回
29.03

var x = d3.scale.ordinal()
    .domain([0, 1, 2])
    .rangeBands([0, 100], 0.1);
console.log(x.rangeBand());
如果我有
0
填充,它将返回
33.33


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

而不是对变量进行硬编码传递。 比如说

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

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

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

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

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

对于d3.js v4,您可以使用
x.step()
x.padding()*x.step()

获得条形图的实际宽度值和填充宽度值,在条形图中,您使用以下内容定义了x比例:

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

x.step()
x.padding(),不是吗?这是范围除以条数的范围,不是吗?填充是
0.1
部分(每个条之间的填充)。填充是
0.1
部分(每个条之间的填充)。填充是
0.1
部分(每个条之间的填充)。