D3.js d3缩放:达到x域阈值时进行换行

D3.js d3缩放:达到x域阈值时进行换行,d3.js,D3.js,我对这个框架相当陌生,我根本找不到一个简单的例子来说明如何使用尺度来计算矩形的x和y。下面是我试图实现的一个例子: w = 400 h = 600 | column1 | column2 | -------------------------- row1 | value1 | value2 | row2 | value3 | value4 | row3 | value5 | value6 | 我的数据集如下所示: dataset = [ [row1-col1, row

我对这个框架相当陌生,我根本找不到一个简单的例子来说明如何使用尺度来计算矩形的x和y。下面是我试图实现的一个例子:

w = 400
h = 600

     | column1 | column2 |
--------------------------
row1 | value1  | value2  |
row2 | value3  | value4  | 
row3 | value5  | value6  |
我的数据集如下所示:

dataset = [
[row1-col1, row1,col2],
[row2-col1, row2,col2],
[row3-col1, row3,col2],
]
我使用d3.merge合并它,以便附加rectsNB:结果数组为6个元素,而不是2个组

.selectAll('rect')
.data(d3.merge(dataset))
.enter()
.append('rect')
问题:

我应该使用什么比例,以便根据宽度将其包裹在两列上?也就是说,当宽度==2时,当我被传递到xscale时,我希望有以下行为:

所以,
[1,3,5]>0
[2,4,5]>1

我也认为这对y刻度也是可能的?如果这不可能,我会非常惊讶,但是我一直在四处寻找,我找不到一个简单的例子来演示这种功能。当达到行限制时,我不希望必须手动换行(使用%)。如果这不是标准库的一部分,则应包括在内。我想知道有多少人在手动实现这一点


感谢您的帮助

这不是库功能的一部分。如果您认为它应该包括在内,请随时发送请求:)OK。你管它叫什么?嗯,不确定。模标度?还是包装秤?
xscale(1) == 0, xscale(2) == 1
xscale(3) == 0, xscale(4) == 1
xscale(5) == 0, xscale(6) == 1