D3 Treemap多个参数汇总了堆栈

时间:2013-06-27 18:37:35

标签: javascript d3.js treemap

这实际上是一个奇怪的问题。我正在研究这个https://secure.polisci.ohio-state.edu/faq/d3/zoomabletreemap_code.php并且目前正在尝试在树形图中传递多个参数并尝试将它们加到堆栈中,因为这些参数主要在可缩放树形图中完成。

此更改记录的代码如下:

// Aggregate the values for internal nodes. This is normally done by the
// treemap layout, but not here because of our custom implementation.
function accumulate(d) {
return d.children
? d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0)
: d.value;
}

但在我的方法中,我必须总结使用多个参数,比如值和计数。 我试图改变相同的代码来添加两个参数,但这似乎没有做到这一点,有人可以指导我:

   function accumulate(d) {
    return d.children
    ? d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0)
    : d.value;
    }
        function accumulate1(d) {
    return d.children
    ? d.count = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0)
    : d.count;
    }

作为两个单独的函数,然后分别调用它们以从叶节点开始对堆栈的计数和值进行求和。 但这不起作用。你能指导我吗?

1 个答案:

答案 0 :(得分:0)

您应该能够在accumulate函数中对两个值求和:

function accumulate(d) {
  return d.children
    ? d.value = d.children.reduce(function(p, v) { return p + accumulate(v); }, 0)
    : d.value + d.count;
}