Javascript Chart.JS插件使用两次会导致错误

Javascript Chart.JS插件使用两次会导致错误,javascript,charts,chart.js,Javascript,Charts,Chart.js,我写了一个非常简单的插件,用于在条形图中为负值着色 var ColourNegatives = { beforeDraw: function(c) { var data = c.data.datasets[0].data; for (let i in data) { let bar = c.data.datasets[0]._meta['0'].data[i]._model; if (data[i] > 0) {

我写了一个非常简单的插件,用于在条形图中为负值着色

var ColourNegatives = {
     beforeDraw: function(c) {
     var data = c.data.datasets[0].data;
     for (let i in data) {
        let bar = c.data.datasets[0]._meta['0'].data[i]._model;
        if (data[i] > 0) {
           bar.backgroundColor = '#337AB7';
        } else bar.backgroundColor = '#B73434';
     }
  }
  };
当把它作为一个单一条形图的插件时,它不会有问题

当我在同一页上有两个图表时,第二个图表无法生成,控制台显示 TypeError:c.data.datasets[0]。\u meta[0]未定义

问题是元[0]部分。如果我有两个函数(每个表一个),一个带meta[0],另一个带meta[1],那么一切正常

有人知道我怎样才能让元数据与图表编号匹配,而不是让每个图表都有一个单独的插件吗?最终,页面上可能会有10多个图表都需要这种配色方案

我尝试过各种方法,比如for循环

var x;
for (x= 0; x < 5; x++) {
   /* Plugin Code */
    }
varx;
对于(x=0;x<5;x++){
/*插件代码*/
}

但是这不起作用。

那么
c.data.datasets[0]包含什么?\u meta
通过使用具有相同代码的新var解决了这个问题,并在第二张图表上调用了它。