2017-07-13 40 views
0

ライブJSONデータを円グラフと棒グラフで表示したいとします。手動でデータを表示することはできますが、グラフにはJSONデータを表示することはできません。データに静的に挿入されているライブデータを表示するチャートの例を1つ挙げました。ライブjsonデータを円グラフと棒グラフで表示する方法

var canvas = document.getElementById('myChart'); 
 
var data = { 
 
    labels: ["January", "February", "March", "April", "May", "June", "July"], 
 
    datasets: [ 
 
     { 
 
      label: "My First dataset", 
 
      backgroundColor: "rgba(255,99,132,0.2)", 
 
      borderColor: "rgba(255,99,132,1)", 
 
      borderWidth: 2, 
 
      hoverBackgroundColor: "rgba(255,99,132,0.4)", 
 
      hoverBorderColor: "rgba(255,99,132,1)", 
 
      data: [65, 59, 20, 81, 56, 55, 40], 
 
     } 
 
    ] 
 
}; 
 
var option = { 
 
\t scales: { 
 
    \t yAxes:[{ 
 
    \t \t stacked:true, 
 
     gridLines: { 
 
     \t display:true, 
 
      color:"rgba(255,99,132,0.2)" 
 
     } 
 
    }], 
 
    xAxes:[{ 
 
    \t \t gridLines: { 
 
     \t display:false 
 
     } 
 
    }] 
 
    } 
 
}; 
 

 
var myBarChart = Chart.Bar(canvas,{ 
 
\t data:data, 
 
    options:option 
 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.3/Chart.min.js"></script> 
 
<canvas id="myChart" width="400" height="200"></canvas>

+0

ライブデータのサンプルが必要になります。あなたの実際の例以外には、文字通りここから外れることはありません。通常、ハイチャートを取得する際の問題は、データが正しく消費されるようにフォーマットされていないことです。 – ebraley

答えて

0

だけでチャートを作成するときに渡されたconfigオブジェクトに新しいデータ/ラベルをプッシュして、あなたのチャート上update()を呼び出します。

setTimeout(function(){ 
    data.labels.push('August'); 
    data.datasets[0].data.push(66); 
    myBarChart.update(); 
}, 1000) 

http://jsfiddle.net/zpnx8ppb/21/

+0

ご支援ありがとうございます。APIのJSONデータについてお話しています。あなたはこれで私を助けてくれますか? –

+0

グラフを動的に更新する方法を示します。あなたはajaxコールでデータを取得し、次にonSuccessを使用してチャートを更新できます。より具体的な情報が必要です。あなたの実装が役に立つかもしれない投稿 – Andrea

関連する問題