更改值访问器时,d3 parition布局变得混乱

时间:2015-10-23 08:15:33

标签: javascript html css d3.js

我试图让d3分区布局像Mike的树形图示例一样: Treemap

我在文件上执行了以下步骤:

  • 搜索 - 替换" treemap"用"分区"
  • 删除树形图布局上的.sticky调用,因为分区没有 支持它
  • 修复叶节点的颜色方案 - >总是返回颜色(d.name)
  • 始终将文字放在节点上 - >始终在文本属性
  • 中返回d.name

最初分区呈现得很好。但是如果你在值函数之间切换" size"和"计数"使用右上角的输入控件,有数据节点开始在层次结构中移动它们的级别!

任何人都可以帮我解释一下这个问题的解决方案是什么?

为了轻松重现问题,我创建了一个jsfiddle: jsfiddle for partition

d3.selectAll("input").on("change", function change() {
    var value = this.value === "count"
        ? function() { return 1; }
        : function(d) { return d.size; };
    node
        .data(partition.value(value).nodes)
            .transition()
            .duration(1500)
            .call(position);
});

0 个答案:

没有答案