0

我正在创建一个水平 D3 冰柱图表,用于显示谱系。这只会显示父亲/母亲,因此每个节点将只有两个孩子(它的父母),这将一直持续到该特定行的末尾。

我遇到的问题是某些行比其他行长,这会为其父节点累积更大的值。然后,该值使该特定节点的高度大于另一个,因为这就是冰柱图的工作方式。

虽然没有设置谱系,但这个 Observable 显示了一个可缩放的冰柱图表示例:https ://observablehq.com/@john-guerra/zoomable-variable-size-icicle

上例中的“vis”总是大于“util”,因为基于其子项(及其值),它具有更大的值。我想做的是将每个子节点的高度设置为相等。

为了进一步简化这一点,这意味着每个子节点将是其父节点高度的 50%。

我不想设置静态/硬编码的高度值,因为我希望它保持响应,并且会因为显示更多代而变得混乱。

所有的孩子都必须有一个价值,所以我不能将任何东西设置为零并且具有递归谱系,我不确定如何使所有线条都具有价值。

感谢任何建议或指出正确的方向。

4

0 回答 0