【问题标题】:Dataset._meta[0].dataset is null in ChartJSDataset._meta[0].dataset 在 ChartJS 中为空
【发布时间】:2019-02-09 05:41:44
【问题描述】:

我正在尝试使用图表 JS 显示每个条形的值。我看到了这个帖子并关注了,但我得到了一个错误。

链接: How to show data values or index labels in ChartJs (Latest Version)

var options = {
    events: false,
    showTooltips: false,
    animation: {
          duration: 0,
          onComplete: function(){
                var ctx = this.chart.ctx;
                ctx.font = Chart.helpers.fontString(Chart.defaults.global.defaultFontFamily, 'normal', Chart.defaults.global.defaultFontFamily);
                ctx.textAlign = 'center';
                ctx.textBaseLine = 'bottom';

                this.data.datasets.forEach(function(dataset){
                console.log(dataset);
                for(var i = 0; i < dataset.data.length; i++){
                    var model = dataset._meta[0].dataset._children[i]._model;
                    ctx.fillText(dataset.data[i], model.x, model.y - 5);
                }
            });
        }
    }
};

错误

TypeError: dataset._meta[0].dataset 为空

【问题讨论】:

    标签: javascript chart.js


    【解决方案1】:

    正如您在链接的帖子中看到的(您链接了该帖子),答案包含如下代码:

    for (var i = 0; i < dataset.data.length; i++) {
        for(var key in dataset._meta)
        {
            var model = dataset._meta[key].data[i]._model;
            ctx.fillText(dataset.data[i], model.x, model.y - 5);
        }
    }
    

    此代码已被接受。尝试这个。另一个,你尝试使用有同样的空错误问题。

    【讨论】:

    • 如果我想改变标签的字体颜色怎么办?
    • 这是另一个问题,你问。 ctx.fillStyle = "[颜色]";对你有帮助吗?这是在同一个接受的答案中。
    • 非常感谢,这让我摆脱了一个完整的困境:)
    猜你喜欢
    • 2021-06-14
    • 1970-01-01
    • 2020-08-24
    • 2020-10-21
    • 2017-08-27
    • 2018-01-25
    • 1970-01-01
    • 2012-02-06
    • 2010-12-22
    相关资源
    最近更新 更多