【问题标题】:D3 circle pack layout algorithmD3圆包布局算法
【发布时间】:2013-08-20 20:31:41
【问题描述】:

我有一个基于绑定到分层数据集的可缩放圆形包布局示例的可视化。

我发现给定深度的圆的面积不能直接比较,即比率为 2 的值在视觉上似乎没有相同比率的面积。

我预计打包算法会出现一些错误,但正如以下日志 sn-p 所示,它非常重要:

area = 708821.8424661972, value = 45888, area / d.value = 15.446780039796836, depth = 0 hiersortfilter.html:657
area = 26507.55404641439, value = 4654, area / d.value = 5.695649773617187, depth = 1 hiersortfilter.html:657
area = 26507.55404641439, value = 4654, area / d.value = 5.695649773617187, depth = 2 hiersortfilter.html:657
area = 113.6437117690809, value = 63, area / d.value = 1.8038684407790617, depth = 3 hiersortfilter.html:657
area = 113.6437117690809, value = 63, area / d.value = 1.8038684407790617, depth = 4 hiersortfilter.html:657
area = 113.6437117690809, value = 63, area / d.value = 1.8038684407790617, depth = 5 hiersortfilter.html:657
area = 0.9339196960560362, value = 1, area / d.value = 0.9339196960560362, depth = 6 hiersortfilter.html:657
area = 17.74447422506469, value = 19, area / d.value = 0.9339196960560363, depth = 6 hiersortfilter.html:657
area = 10.273116656616397, value = 11, area / d.value = 0.9339196960560361, depth = 6 hiersortfilter.html:657
area = 29.88543027379316, value = 32, area / d.value = 0.9339196960560362, depth = 6 hiersortfilter.html:657
area = 110.13198200238504, value = 58, area / d.value = 1.8988272759031903, depth = 3 hiersortfilter.html:657
area = 110.13198200238504, value = 58, area / d.value = 1.8988272759031903, depth = 4 hiersortfilter.html:657
area = 110.13198200238504, value = 58, area / d.value = 1.8988272759031903, depth = 5 hiersortfilter.html:657
area = 8.405277264504326, value = 9, area / d.value = 0.9339196960560362, depth = 6 hiersortfilter.html:657
area = 15.876634832952611, value = 17, area / d.value = 0.933919696056036, depth = 6 hiersortfilter.html:657
area = 7.47135756844829, value = 8, area / d.value = 0.9339196960560362, depth = 6 hiersortfilter.html:657
area = 11.207036352672434, value = 12, area / d.value = 0.9339196960560362, depth = 6 hiersortfilter.html:657
area = 11.207036352672434, value = 12, area / d.value = 0.9339196960560362, depth = 6 hiersortfilter.html:657
area = 2155.192321114232, value = 669, area / d.value = 3.221513185522021, depth = 3 hiersortfilter.html:657
area = 2155.192321114232, value = 669, area / d.value = 3.221513185522021, depth = 4 hiersortfilter.html:657
area = 567.0544456457064, value = 349, area / d.value = 1.6247978385263795, depth = 5 

我很乐意进一步挖掘并尝试调试,但在此之前想检查我对算法的理解是否正确,即单位值的面积比在理想情况下应该在所有级别上保持不变,如果不是至少对于给定的深度?

【问题讨论】:

    标签: javascript d3.js hierarchy circle-pack


    【解决方案1】:

    来自documentation

    外壳图使用包含(嵌套)来表示层次结构。每个叶节点的圆的大小揭示了每个数据点的定量维度。封闭的圆圈显示了每个子树的近似累积大小,但请注意,由于浪费空间,级别之间存在一些失真; 只有叶子节点可以准确比较

    所以你的假设不成立。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 2013-01-23
      • 1970-01-01
      • 2013-01-27
      • 1970-01-01
      • 2019-02-11
      相关资源
      最近更新 更多