如何在Charts.js的条形图内绘制线条?

时间:2020-03-24 09:35:30

标签: chart.js line bar-chart

 line

例如,
我的第一个小节最高分-16.
1分100%/ 16 = 6.25%
结果,在第一个小节中,每隔6.25%我需要画一条线。

第二个柱最大为6,第三个柱最大为3。

1 个答案:

答案 0 :(得分:0)

Chart.pluginService.register({
    afterDraw: function(chart) {
        var ctx = chart.ctx;

        chart.config.data.datasets.forEach(function (dataset) {
            for (var i = 0; i < dataset.data.length; i++) {
                var yAxe = chart.scales[chart.config.options.scales.yAxes[0].id];
                ctx.strokeStyle = "red";
                ctx.beginPath();
                ctx.setLineDash([10, 10]);
                //value
                lineAt = yAxe.getPixelForValue(200);

                var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model;

                ctx.moveTo(model.x - (model.width / 2), lineAt);
                ctx.lineTo(model.x + (model.width / 2), lineAt);
                ctx.stroke();
            }
        });
    }
});