2017-12-19 10 views
1

折れ線グラフでスタックの描画に問題があります。DC.js折れ線グラフが表示されない

私は3つの平均を計算しています。私は.groupでこれらの平均のいずれかを表示することができますが、それはスタックでは機能しません

私は無視した場合
timeConstChart 
.dimension(datesDim) 
.group(evalConsReduced,"Buena", function(d){return d.value.buenaAvg}) // works 
.stack(evalConsReduced,"Regular",function (d) {return d.value.regularAvg}) // <- Doesn't work 
.stack(evalConsReduced,"Mala",function (d) {return d.value.malaAvg}) // <- Doesn't work neither 
.x(d3.time.scale().domain([minDate,maxDate])) 
.y(d3.time.scale().domain([0,100])); 

奇妙な部分があり、グループの「d.value.buenaAvgを返す」、私は結果を得ることができます注

jsfiddle

d.value.regularAvg

から:これはcrossfilterを使用して、私は初めてですが、私はすでに私の軽減機能が最適化されていない伝えることができ、それらを向上させることができます。ここの道案内にも感謝します。

答えて

0

これらの機能を改善することはおそらく可能ですが、それは正しい基本的な考え方です。何らかの方法で各値を数え、それぞれの平均を計算する必要があります。

コードを書くのが賢明な方法かもしれませんが、あなたがしていることは明らかです。

toFixedの使用が間違っているように見えます。これはという文字列を返します。文字列を集約しようとすると、多くの問題が発生する可能性があります。

例えば、

0.3 + 0.1 === 0.4 

しかし

'0.3' + '0.1' === '0.30.1' 

私は同じことがあなたのスタックで起こっていると思いますが、どこかdc.jsは、健全性チェックを行い、NaNを出しスローされます。

ここにはa fork of your fiddle with toFixed removedです。予想通り

は、3つのスタックは、(そうでない場合は、トップラインがクリップを取得することができますので、私はそれは難しい参照すること、.clipPadding(2)を追加しました。)

1で緑の線まで追加します
関連する問題