D3.js 分层分区中的不均匀宽度

D3.js 分层分区中的不均匀宽度,d3.js,hierarchy,D3.js,Hierarchy,我是D3.js的新手。我需要用分区布局来表示分层数据。但我希望给定列的宽度取决于其在层次结构中的深度的某个函数 例如,在中,五列的相对宽度将分别为0.2、0.1、0.1、0.3、0.3,而不是0.2、0.2、0.2、0.2、0.2 如果我理解正确,我不能。但是,这个问题已经有三年历史了。今天可能吗 当然,我可以手动调整由partition()填充的x和dx属性。但我想存在一个更干净的解决方案。回答我自己的问题。事实证明,这可以通过秤来实现: 而不是: x_scale = d3.scaleLine

我是D3.js的新手。我需要用分区布局来表示分层数据。但我希望给定列的宽度取决于其在层次结构中的深度的某个函数

例如,在中,五列的相对宽度将分别为0.2、0.1、0.1、0.3、0.3,而不是0.2、0.2、0.2、0.2、0.2

如果我理解正确,我不能。但是,这个问题已经有三年历史了。今天可能吗


当然,我可以手动调整由
partition()
填充的
x
dx
属性。但我想存在一个更干净的解决方案。

回答我自己的问题。事实证明,这可以通过秤来实现:

而不是:

x_scale = d3.scaleLinear().range([0, WIDTH])
只要做:

x_scale = d3.scaleLinear().domain([0, 0.2, 0.3, 0.4, 0.7]).range([0, 0.2*WIDTH, 0.3*WIDTH, 0.4*WIDTH, 0.7*WIDTH])
工作起来很有魅力