2017-07-31 6 views
0

以下は、私はJSON形式でURLからデータを取得しています上記のコードではC3のjsライブラリC3 jsは、URL呼び出しで受け取ったJSONデータにアクセスする方法を

var chart = c3.generate({ 
    bindto: '#barchart', 
    data: { 
     url: './API/get_bar_chart_data.php', 
     mimeType: 'json', 
     type: 'bar', 
     keys: { 
      x: 'category', // it's possible to specify 'x' when category axis 
      value: [ 'number'] 
      }, 
     onclick: function (d, i) { 

           console.log(chart.categories()[d.index]); 

           onclick_barchart(); 
           } 
     }, 
    bar: { 
     width: { 
      ratio: 0.5 // this makes bar width 50% of length between ticks 
       } 
     },  
    axis: { 
     x: { 
      type: 'category' // this needed to load string x value 
     } 
    } 

}); 

を使用して棒グラフを生成するためのコードです。

クリックしたら、この完全なjsonをonclick_barchart()関数に渡したいと思います。

+0

?それはdですか?それは受信されたデータですか?ドキュメントを参照することをお勧めします。フェッチしたら、そのデータをclick関数の引数として渡します。 –

+0

データがどこに届いているのかわかりませんdはインデックスを与える内部変数です、プロットされたグラフのカテゴリ – abhi

+0

**データがどこに届いているのかわかりません**、幸せなコーディング!!そういうわけで私はあなたに文書を見るように言った。あなたは? –

答えて

0

C3.jsは内部フォーマットで受信したデータを変換するので、受信したデータを取得する方法はありません。

IMOには、これを処理する2つの方法があります。

  • 受信したデータを処理する必要がある場合は、別途電話する必要があります。 C3.jとの関連ではありません。この場合、内部データ変数 経由

// call api and assign the result in separate variable 
 
var data = call_ajax("./API/get_bar_chart_data.php"); 
 
var chart = c3.generate({ 
 
     data: { 
 
     columns: data 
 
     onclick: function() { 
 
      onclick_barchart(data); 
 
     } 
 
     }, 
 
     ... 
 
    }

  • あるいは、アクセス変換されたデータは、あなたの必要性としてフォーマットを処理する必要があります。あなたがデータを得るのですか

var chart = c3.generate({ 
 
     data: { 
 
     columns: data 
 
     onclick: function() { 
 
      // You can access in outside via 'chart.internal.data.targets' 
 
      // They're same result from .data() API 
 
      // https://naver.github.io/billboard.js/release/latest/doc/Chart.html#data 
 
      onclick_barchart(this.data.targets); 
 
     } 
 
     }, 
 
     ... 
 
    }

関連する問題