d3.js Streamgraphを使用して、経時的な売上を表示しています。次に、同じ期間の利益を表示する遷移があります。データは次のようになります。
var data = [{
"name": "apples",
"sales": [{
"x": 0,
"y": 941
}, {
"x": 1,
"y": 490
}],
"profit": [{
"x": 0,
"y": 6
}, {
"x": 1,
"y": 3
}]
}, {
"name": "oranges",
"sales": [{
"x": 0,
"y": 344
}, {
"x": 1,
"y": 425
}],
"profit": [{
"x": 0,
"y": 3
}, {
"x": 1,
"y": 2
}]
}];
それは機能しますが、私は現在、stack.valuesを2回適用して、スタックされたデータをややハムフィストの方法で生成しています:
var stack_sales = d3.layout.stack()
.offset("wiggle")
.values(function(d) { return d.sales; });
var stack_profit = d3.layout.stack()
.offset("wiggle")
.values(function(d) { return d.profit; });
stack_sales(data);
stack_profit(data);
私はJavaScript パターンに取り掛かっていますが、これを行うための DRY の方法がわかりません。手伝ってくれますか?