Javascript chart.js 2.0向数据集添加新属性

Javascript chart.js 2.0向数据集添加新属性,javascript,chart.js,chart.js2,Javascript,Chart.js,Chart.js2,我需要向数据集/标签添加一个属性,以便在单击时识别它。 我试过这样的方法: Chart.controllers.customBar = Chart.controllers.bar.extend({ code: null }); 它几乎可以工作,因为我可以看到新的属性“代码”,数据与之关联,图表背景可见但为空,我的意思是数据集中的数据不可见 这是我的初始化: var ctx = document.getElementById("roads-chart").getConte

我需要向数据集/标签添加一个属性,以便在单击时识别它。 我试过这样的方法:

Chart.controllers.customBar = Chart.controllers.bar.extend({
        code: null
    });
它几乎可以工作,因为我可以看到新的属性“代码”,数据与之关联,图表背景可见但为空,我的意思是数据集中的数据不可见

这是我的初始化:

var ctx = document.getElementById("roads-chart").getContext("2d");
    window.roadsBar = new Chart(ctx, {
        type: 'bar',
        data: roadsChartData,
        options: {
            title: {
                display: true,
                text: "Stan dróg"
            },
            tooltips: {
                mode: 'label'
            },
            responsive: true,
            scales: {
                xAxes: [{
                        stacked: true,
                    }],
                yAxes: [{
                        stacked: true
                    }]
            },
            onClick: function(e, d) {
                console.log(d);
            }
        }
    });
问题是,我感觉不到Chart.js,有人能帮我处理它,并举例说明扩展是如何工作的吗?:)


感谢虽然您可以扩展图表来实现这一点,但如果您不介意依赖内部属性(这可能会在以后的chart.js版本中发生变化),您可以使用
\u datasetIndex
\u index
属性从图表配置中检索额外的属性,如下所示

  options: {
    onClick: function(e, d) {
      if (d.length > 0) {
        console.log(this.config.data.datasets[d[0]._datasetIndex].code[d[0]._index]);
      }
    }
    ...


小提琴-

  ...
  datasets: [{
    code: ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
    ...