Javascript d3.js:如何根据子级和父级值调整d3分区表的大小
我正试图在D3中构建一个基本的冰柱分区树,但我似乎无法获得值函数来实现我想要的功能。基本上,我希望每个节点根据其值和子节点的总和来调整大小。如中所述: ,默认行为根据子节点的总和调整节点大小。但是,我发现它只查看叶节点,然后所有节点都根据这些节点来调整大小 我已经硬编码了我希望节点大小为JSON值(totalMass)的值,它已经计算了当前节点及其子节点的值。结果如下: 抱歉,我无法发布图像,但我可以描述它:Javascript d3.js:如何根据子级和父级值调整d3分区表的大小,javascript,d3.js,charts,partition,Javascript,D3.js,Charts,Partition,我正试图在D3中构建一个基本的冰柱分区树,但我似乎无法获得值函数来实现我想要的功能。基本上,我希望每个节点根据其值和子节点的总和来调整大小。如中所述: ,默认行为根据子节点的总和调整节点大小。但是,我发现它只查看叶节点,然后所有节点都根据这些节点来调整大小 我已经硬编码了我希望节点大小为JSON值(totalMass)的值,它已经计算了当前节点及其子节点的值。结果如下: 抱歉,我无法发布图像,但我可以描述它: 我想要什么: 根(12=5+子(3+4)) 儿童1(3=1+儿童(2)) 叶(2)
我想要什么:
根(12=5+子(3+4))
儿童1(3=1+儿童(2))
叶(2)
儿童2(4=2+儿童(2))
叶(2)
我得到的是:
根(4)
儿童1(2)
叶(2)
儿童2(2)
Leaf(2)
我认为缩放气泡图最适合您的要求。您可以使用d3块布局进行此操作
这是该构造的官方D3链接。。
我希望我的推荐能对你有所帮助。老实说,我和你有同样的问题。显然有一个拉取请求正在处理此问题:。还有另一个解决方案,Mike Bostock在线程的注释中使用了虚拟节点。我仍在努力解决这个问题,但如果你看一看,可能会对你有所帮助(如果你仍然有这个问题) 谢谢你的建议,但我仍然希望保持分区树的结构化层次结构。很抱歉延迟响应-有一段时间没有考虑这个问题了。刚刚签出了您发布的pull请求,显然,所需的行为已经在4.0的d3层次结构中实现。