2016-03-22 13 views
0

C3JSを使用してチャートをプロットするJSONオブジェクトを作成する際に問題があります。私は静的なJSONを使用してグラフをプロットすることができますが、私のデータは動的であり、私のグラフは一般的なままでなければならないので、静的JSONを渡すことはできません。 JSONのKey値は一般的なものであり、値だけを変更する必要があります。javascriptを使用してc3jsのjsonオブジェクトを作成します。

JSONの現在のJSON形式は次のとおりです。ここで

[ 
    { 
     "Key": "data1", 
     "Metric": "field1", 
     "Total": 1 
    }, 
    { 
     "Key": "data1", 
     "Metric": "field2", 
     "Total": 1 
    }, 
    { 
     "Key": "data2", 
     "Metric": "field1", 
     "Total": 1 
    }, 
    { 
     "Key": "data2", 
     "Metric": "field2", 
     "Total": 4 
    }, 
    { 
     "Key": "data2", 
     "Metric": "field3", 
     "Total": 4 
    }, 
    { 
     "Key": "data3", 
     "Metric": "field1", 
     "Total": 1 
    }, 
    { 
     "Key": "data3", 
     "Metric": "field2", 
     "Total": 4 
    }, 
    { 
     "Key": "data3", 
     "Metric": "field3", 
     "Total": 4 
    } 
] 

は、チャートのコードです。

var xAxis = ['x','data1','data2','data3']; 
var data1 = ['field1', 6, 13, 4]; 
var data2 = ['field2', 3, 3, 5]; 
var data3 = ['field3, 21, 22, 4]; 

var data = [""] 




var full = [ 
    /*['x','data1','data2','data3'], 
    ['field1', 6, 13, 4], 
    ['field2', 3, 3, 5], 
    ['field3, 21, 22, 4]*/ 
]; 

full.push(xAxis); 
full.push(data1); 
full.push(data2); 
full.push(data3); 

var chart = c3.generate({ 
    data: { 
     x: 'x', 
     columns: full, 
     type: 'bar', 
    }, 
    bar: { 
     width: { 
      ratio: 0.7 // this makes bar width 50% of length between ticks 
     } 
    }, 
    axis: { 
     x: { 
      type: 'category' // this is needed to load string x value 
     } 
    }, 
    bindto: '#chart' 
}); 

は、私は私の積み上げ棒グラフをプロットするC3JSに送り込むことができるようにオブジェクトを作成する助けを必要としています。私は自分のjsonレスポンスからデータを読み込み、それをこのような配列にプッシュする必要があります。

var xAxis = ['x','Agency','Direct','Employee Reference']; var data1 = ['Permanent', 6, 13, 4]; var data2 = ['Contract', 3, 3, 5]; var data3 
= ['Conract on Hire', 21, 22, 4]; 

私がそれをフィードする方法を変更するための提案も大きな助けになるでしょう。 これは私の最初のStackOver投稿です。あいまいさを残して申し訳ありません。 ありがとうございます。

答えて

0

var data = [ 
{ 'date': '2015-01-01', 'Dept': null, 'SMV': 3}, 
{ 'date': '2015-01-02', 'Dept': 1, 'SMV': 4} 
]; 

例のデータセットは、私はJavaScriptでデータセットを作成する方法で探しています。この

var data = [ 
['date', '2015-01-01', 2015-01-02'], 
['Dept', null, 1], 
['SMV', 3, 4] 
]; 
+0

こんにちはムハンマド・モシンMuneer、 のように、その後に見えます。 –

+0

コード全体はhttp://jsbin.com/cerilugevo/edit?html,js,consoleにあります これが役立つことを願っています! –

+0

jsbinのコードリファレンスは、オブジェクトからデータを取り出して個々の配列にプッシュするだけですが、何が問題になるのでしょうか。 i)キーの要素は、最初の配列にとどまります。 [データ1、データ2、データ3] II)チャレンジが始まり、 [field1,1,3,1]、[field2,2,1,3]、[field3,3,1,1] 2] –

関連する問題