开发者问题收集

Chart.js无法读取未定义的属性'_meta'

2017-08-03
9096

我正在尝试构建一个基本的条形图,但标题中出现了错误。我已使用 alert() 验证了我想要填充图表的数组是否包含数据,但语法仍然有些问题。有人可以检查一下并告诉我需要做些什么才能使图表生成吗?

    var ctx = document.getElementById('cvtree').getContext('2d');
var chart = new Chart(ctx, {
    type: 'bar',
    data: { 
        labels: yoylabels,
        datasets: [{
                label: 'Pay By Person',
                backgroundColor: 'rgba(0, 129, 214, 0.8)',
                data: numericdollarvals
            }]
    },
    options: {
        },
        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;
                            }
                        }
                    }
                }]
        }
});
1个回答

在设置所有选项之前,您意外地关闭了选项属性。

这是正确的语法:

var ctx = document.getElementById('cvtree').getContext('2d');
var chart = new Chart(ctx, {
   type: 'bar',
   data: {
      labels: yoylabels,
      datasets: [{
         label: 'Pay By Person',
         backgroundColor: 'rgba(0, 129, 214, 0.8)',
         data: numericdollarvals
      }]
   },
   options: {
      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;
                  }
               }
            }
         }]
      }
   }
});
ɢʀᴜɴᴛ
2017-08-03