2017-11-14 27 views
1

lineChartをプロットしようとしていて、データを月ごとに集計したいとします。 crossfilter documentationのデータセットを使用していますが、日付は若干変更されています。dc.js LineChart月/年で集計

var data = [ 
    {date: "2011-11-14T16:17:54Z", quantity: 2, total: 190, tip: 100, type: "tab"}, 
    {date: "2011-07-10T16:28:54Z", quantity: 1, total: 300, tip: 200, type: "visa"}, 
    {date: "2011-07-15T16:28:54Z", quantity: 1, total: 300, tip: 200, type: "visa"}, 
    {date: "2011-06-14T16:30:43Z", quantity: 2, total: 90, tip: 0, type: "tab"}, 
    {date: "2011-06-14T16:48:46Z", quantity: 2, total: 90, tip: 0, type: "tab"}, 
    {date: "2011-05-14T16:53:41Z", quantity: 2, total: 90, tip: 0, type: "tab"}, 
    {date: "2011-07-17T16:14:06Z", quantity: 1, total: 100, tip: 0, type: "cash"}, 
    {date: "2011-05-14T16:58:03Z", quantity: 2, total: 90, tip: 0, type: "tab"}, 
    {date: "2011-12-14T17:07:21Z", quantity: 2, total: 90, tip: 0, type: "tab"}, 
    {date: "2011-11-14T17:22:59Z", quantity: 2, total: 90, tip: 0, type: "tab"}, 
    {date: "2011-11-14T17:25:45Z", quantity: 2, total: 200, tip: 0, type: "cash"}, 
    {date: "2011-11-14T17:29:52Z", quantity: 1, total: 200, tip: 100, type: "visa"} 
]; 

私は月 - 年でグループ合計したい:

これは私のデータセットがどのように見えるかです。私のデータグループは、月の代わりに日付に基づいて合計を返します。私のグラフで

enter image description here

7月10、15及び17は異なる点としてプロットされています。私はそれらをすべて7月〜2017のポイントに組み合わせたいと思っています。それをどうやって達成するのですか?すべてのポインタ? ありがとうございました!ここ

はフィドルです: https://jsfiddle.net/usingh2buffaloedu/8u0etnwd/

enter image description here

答えて

2

私はdc.jsでのレンダリング時間の問題を持っていたが、あなたの例では、キーはあなたの次元での月の値を取得することです。

var dateDimension = facts.dimension(function (d) {return d3.time.month(d.newDate); }); 

私は.round()チャートの方法はブラッシングのために、ではないのレンダリングのためにのみ有用であると考え、更新フィドル(https://jsfiddle.net/ury1k1bs/1/

を参照してください。

詳細については、dc.jsによって提供される時間間隔の例を参照してください。 http://dc-js.github.io/dc.js/examples/switching-time-intervals.html

関連する問題