我是D3.js的新手。我需要用分区布局绘制我的分层数据的表示。但我希望给定列的宽度取决于层次结构中其深度的某个函数。
例如,在https://bl.ocks.org/mbostock/2e73ec84221cb9773f4c中,五列的相对宽度分别为0.2,0.1,0.1,0.3,0.3,而不是0.2,0.2,0.2,0.2,0.2。
如果我理解正确d3.js uneven scaling with rangeBands,我不能。但是,这个问题已经快3年了。今天有可能吗?
当然,我可以手动调整x
填充的dx
和partition()
属性。但我想有一个更清洁的解决方案。
答案 0 :(得分:0)
回答我自己的问题。事实证明,这可以通过比例来完成:
而不是:
test_fN = find(ismember(point1, fN, 'rows'));
test_fS = find(ismember(point1, fS, 'rows'));
test_fE = find(ismember(point1, fE, 'rows'));
test_bN = find(ismember(point1, bN, 'rows'));
test_bT = find(ismember(point1, bT, 'rows'));
只是做:
x_scale = d3.scaleLinear().range([0, WIDTH])
像魅力一样。