2017-07-27 8 views
-1

2つのデータセットCharts.jsでチャートを生成しますが、以下の構文に二つ目に追加することは私にこれは私の構文である私は1セット問題なく表示するために私のチャートを得ることができます

Uncaught Syntax Error: Unexpected Token }

の誤差を与えます - 問題の原因は何ですか?

var ctx = document.getElementById('canvas').getContext('2d'); 
var chart = new Chart(ctx, { 
     datasets: [{ 
       type: 'bar', 
       labels: labelsarr, 
       label: 'Red Team', 
       backgroundColor: 'rgba(0, 129, 214, 0.8)', 
       data: [values] 
      }, { 
       type: 'line', 
       label: 'Green Team', 
       backgroundColor: 'rgba(0,129, 218, 0.8)', 
       data: [values1] 
      }, { 
      options: { 
       tooltips: { 
        callbacks: { 
         label: function (t, d) { 
          var xLabel = d.datasets[t.datasetIndex].label; 
          var yLabel = t.yLabel >= 1000 ? '$' + t.yLabel.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") : '$' + t.yLabel; 
          return xLabel + ': ' + yLabel; 
         } 
        } 
       }, 
       legend: { 
        display: false, 
        position: 'top', 
       }, 
       scales: { 
        yAxes: [{ 
          ticks: { 
           beginAtZero: true, 
           callback: function (value, index, values) { 
            if (parseInt(value) >= 1000) { 
             return '$' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
            } else { return '$' + value; } 
           } 
          } 
         }] 
       } 
      }, 
      plugins: [{ 
        beforeDraw: function (chart) { 
         var labels = chart.data.labels; 
        } 
       }] 
      } 
     }] 
    ); 

答えて

0

コード}]の最後の2行目が後方にあります。それは]}

再構成構造する必要があります。

var ctx = document.getElementById('canvas').getContext('2d'); 
var chart = new Chart(ctx, { 
    type: 'bar', 
    data: { 
    datasets: [ 
     { 
     label: 'Red Team', 
     data: values, 
     backgroundColor: 'rgba(0, 129, 214, 0.8)', 
     }, 
     { 
     label: 'Green Team', 
     data: values1, 
     type: 'line', 
     backgroundColor: 'rgba(0,129, 218, 0.8)', 
     } 
    ], 
    labels: labelsarr 
    }, 
    options: { 
    callbacks: { 
     label: function (t, d) { 
     var xLabel = d.datasets[t.datasetIndex].label; 
     var yLabel = t.yLabel >= 1000 ? '$' + t.yLabel.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",") : '$' + t.yLabel; 
     return xLabel + ': ' + yLabel; 
     } 
    }, 
    legend: { 
     display: false, 
     position: 'top' 
    }, 
    scales: { 
     yAxes: [{ 
     ticks: { 
      beginAtZero: true, 
      callback: function (value, index, values) { 
      if (parseInt(value) >= 1000) { 
       return '$' + value.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); 
      } else { return '$' + value; } 
      } 
     } 
     }] 
    } 
    }, 
    plugins: [{ 
    beforeDraw: function (chart) { 
     var labels = chart.data.labels; 
    } 
    }] 
}); 
+0

これはエラーを取り除く - が、何のチャートは、これまでのページで生成されません。値と価値の長さを表示するよう警告すると、それぞれが表示されます1。別の問題がありますか? – IcyPopTarts

+0

は値であり、値1は配列ですか? –

+0

はい - 両方ともvar values1 = [];のように宣言されています。 var values = []; – IcyPopTarts

関連する問題