Chartjs强制水平条从最小值开始

问题描述 投票:0回答:1

我正在使用Chartjs插件的HorizontalBar选项,并且我的值介于-15和115之间。当我的百分比值为0.75时,我希望该条从-15填充到0.75。

我已将属性beginAtZero设置为false(我相信它仅在Y轴上起作用。),并且将fill设置为true,但不起作用。

datasets: [
{
    data: [percentage],
    fill: true,
    backgroundColor: 'rgba(0, 0, 0, 1)'
}]

....

options:
{
    scales:
    {
        xAxes: [
        {
            ticks:
            {
                beginAtZero: false,
                min: min,
                max: max
            }
        }],
    }
}

您可能会在此[[JSFiddle中看到,黑条从0开始,应从-15开始。

javascript chart.js
1个回答
0
投票
这可以通过

浮动栏完成,因为Chart.js v2.9.0是一项功能,该功能已与chartjs:master合并到pull request #6056中。现在可以使用语法[min, max]指定各个条。

<html> <head> <title>Floating Bar</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script> <style> canvas { -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; } </style> </head> <body> <div> <canvas id="canvas" height="50"></canvas> </div> <script> var percentage = 0.92; var min = -15; var max = 115; window.onload = function() { var ctx = document.getElementById('canvas').getContext('2d'); window.myBar = new Chart(ctx, { type: 'horizontalBar', data: { datasets: [{ data: [[min, percentage]], fill: true, backgroundColor: 'rgba(0, 0, 0, 1)' }] }, options: { title: { display: false }, tooltips: { mode: 'index', intersect: false }, legend: { display: false }, responsive: true, scales: { xAxes: [{ ticks: { min: min, max: max } }], } } }); }; </script> </body> </html>
© www.soinside.com 2019 - 2024. All rights reserved.