0

これは実際には奇妙な質問です。私はこの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;
}

しかし、私のアプローチでは、値とカウントなど、複数のパラメーターを使用して合計する必要があります。同じコードを変更して2つのパラメーターを追加しようとしましたが、うまくいかないようでした。誰かが私を案内してくれませんか:

   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;
    }

2 つの別個の関数として、それらを別個に呼び出して、リーフ ノードから開始してカウントと値の両方を合計します。しかし、これは機能していません。案内していただけますか?

4

1 に答える 1

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;
}
于 2013-06-27T18:44:09.523 に答える