2017-04-20 11 views
0

chart.jsを使用して棒グラフを表示しようとしています。chart.jsを使用しているときに棒グラフが表示されない

データJSONは、私が自分の関数で読んでいるところからbarchart.txtという別のファイルにあります。関数の最初の行に警告を付けると、機能しなくてもデータの形式が正しくないように見えます。

barchart.txtとDefault.aspxは同じ場所にあります。

barchart.txt

{ 
     labels: ["January", "February", "March", "April", "May", "June", "July"], 
    datasets: [ 
    { 
       label: "Dataset Testing", 
     backgroundColor: [ 
      'rgba(255, 99, 132, 0.2)', 
      'rgba(54, 162, 235, 0.2)', 
      'rgba(255, 206, 86, 0.2)', 
      'rgba(75, 192, 192, 0.2)', 
      'rgba(153, 102, 255, 0.2)', 
      'rgba(255, 159, 64, 0.2)' 
     ], 
     borderColor: [ 
     'rgba(255,99,132,1)', 
     'rgba(54, 162, 235, 1)', 
     'rgba(255, 206, 86, 1)', 
     'rgba(75, 192, 192, 1)', 
     'rgba(153, 102, 255, 1)', 
     'rgba(255, 159, 64, 1)' 
       ], 
     borderWidth: 1, 
     data: [65, 59, 80, 81, 56, 55, 40], 
    } 
     ] 
} 

Default.aspxの

<html> 
    <canvas id="mybarChart1"></canvas> 
</html> 

<script> 
    $.getJSON("barchart.txt", function (data) 
      { 
       alert("here"); 
       var ctx = document.getElementById("mybarChart1"); 
       var myChart = new Chart(ctx, { 
        type: 'bar', 
        data: data, 
        options: { 
         scales: { 
          yAxes: [{ 
           ticks: { 
            beginAtZero: true 
           } 
          }] 
         } 
        } 
       }); 
      }); 
</script> 
+0

で試してみてください。私はJSONを学んでいるだけなので、いくつかのサンプルデータを書いて読んで、うまく動作する別の例json2.txtを実行しました。同様に、JSONをbarchart.txtからDefault.aspxに貼り付け、var mydata = {ここではデータ全体}のように変数に保存すると、うまくいきます。 –

答えて

2

問題は、単に明らかに、それが有効なJSONではありません、あなたのbarchart.txtにありオブジェクト。適切なJSONオブジェクトは、{"key": "string"}のようになります。については、hereを参照してください。JSON

、あなたはおそらく変更する必要があり、あなたのbarchartファイルの拡張子から.txt.json

ので、ごbarchart.jsonファイル内のデータが...次のようになります

{ 
    "labels": ["January", "February", "March", "April", "May", "June", "July"], 
    "datasets": [{ 
     "label": "Dataset Testing", 
     "backgroundColor": [ 
      "rgba(255, 99, 132, 0.2)", 
      "rgba(54, 162, 235, 0.2)", 
      "rgba(255, 206, 86, 0.2)", 
      "rgba(75, 192, 192, 0.2)", 
      "rgba(153, 102, 255, 0.2)", 
      "rgba(255, 159, 64, 0.2)" 
     ], 
     "borderColor": [ 
      "rgba(255,99,132,1)", 
      "rgba(54, 162, 235, 1)", 
      "rgba(255, 206, 86, 1)", 
      "rgba(75, 192, 192, 1)", 
      "rgba(153, 102, 255, 1)", 
      "rgba(255, 159, 64, 1)" 
     ], 
     "borderWidth": 1, 
     "data": [65, 59, 80, 81, 56, 55, 40] 
    }] 
} 
1

あなたのjsonは無効です。あなたはここにhttp://jsonlint.com/

{ 
"labels": [ 
    "January", 
    "February", 
    "March", 
    "April", 
    "May", 
    "June", 
    "July" 
], 
"datasets": [ 
    { 
     "label": "Dataset Testing", 
     "backgroundColor": [ 
      "rgba(255, 99, 132, 0.2)", 
      "rgba(54, 162, 235, 0.2)", 
      "rgba(255, 206, 86, 0.2)", 
      "rgba(75, 192, 192, 0.2)", 
      "rgba(153, 102, 255, 0.2)", 
      "rgba(255, 159, 64, 0.2)" 
     ], 
     "borderColor": [ 
      "rgba(255,99,132,1)", 
      "rgba(54, 162, 235, 1)", 
      "rgba(255, 206, 86, 1)", 
      "rgba(75, 192, 192, 1)", 
      "rgba(153, 102, 255, 1)", 
      "rgba(255, 159, 64, 1)" 
     ], 
     "borderWidth": 1, 
     "data": [ 
      65, 
      59, 
      80, 
      81, 
      56, 
      55, 
      40 
     ] 
    } 
]} 

それを検証することができ、私は上記のbarchart.txtのコードを貼り付けている上記のJSON

関連する問題