2016-11-17 9 views
0

私はビジュアライゼーションダッシュボードで作業していますが、ほとんど問題に直面していません。d3/Canvas JSのデータを操作する最良の方法は?

d3jsとcanvasjsの中から選択するものはかなり混乱しています。 d3jsは優れたビジュアル面で豊富な機能を備えていますが、私はキャンバスが好きです。なぜなら、チャートを作成するのが簡単だからです。これからもさらに進めていくつもりです(d3js & canvasjs)。

目的: ビジュアルのどの提案に対しても、多くのクロスフィルターを使用した対話型ダッシュボードを作成したいのですか? APIからのデータ呼び出しのモード。サーバーからデータを完全に取得してJavaスクリプトのデータを処理する必要がありますか、またはそれぞれのチャートごとにデータを個別に取得する必要があります。

データベースから結合データ全体を取得すると、ダッシュボードのデータサイズが大きすぎる(2 MB以上)と、特定のグラフの正確なデータを取得できない場合があります。例は、より良い理解のために役立つかもしれません。私はなるREST APIによって個別にそれぞれ、すべてのチャートのデータを取得することができます。

は、私は複数の列が含まれている販売ビューのためのデータが別のテーブルから参加し、自分のダッシュボードには4つのチャート

chart 1: Bar chart for sales by item group 
chart 2: Pie chart for sales by sales person 
chart 3: Line Graph showing the sales by hours (week days): trend of the sales at the shop 
chart 4: Total Sales, Total Orders KPI 

データコレクションを持っている持って考えてみましょうそのチャートのデータのみが含まれています(または)テーブルのJOINからデータ全体を得ることができます(2 MB以上は、売上が増えるにつれて大きくなります)。

インタラクティブ性:グラフをクリックすると1つのアイテムグループ(他のチャートは選択したアイテムグループに従ってフィルタリングされます):(フィルタのjsコードを書くと、好きな方法について興味があります)

データの取得とクロスフィルタリングのどちらの方が好きでしょうか。上記の質問が

おかげ

答えて

2
  1. CanvasJsより多くの疑問を呼び出す答える

    はHTML5とD3 svgを使用してのcanvas要素を使用してグラフを作成するためのより多くのです。 CanvasJsは迅速な応答時間を持つため、CanvasJsをD3と比較すると利点があり、レンダリングはCanvasJsで高速です。応答時間が短く、データに対する計算やフィルタがあまり必要ない場合は、CanvasJsに行くことができます。

  2. D3は、フィルタを使用したフィルタリングチャートの多くで、お客様のケースで使用できます。そして、あなたはセールスデータを扱います。フィルタが必要になります。そのため、フィルタを1つのグラフに適用すると、そのフィルタに関連する変更は他のグラフに反映されます。 D3はクロスフィルターを使用し、関連するすべての情報をフィルターに掛けて、それに応じて他のチャートをレンダリングする機能を備えています。
  3. キャンバスとD3はどちらも配列、Json、およびCSV形式をサポートしています。
+0

はいフィルタは私の主なものですから、私はD3を使用しているはずです。返信ありがとうございます。 – Shahabaz

+0

あなたの歓迎@シャハバズは、答えとしてこれを受け入れることができます:) – ashishraaj

関連する問題