如何在chart.js上设置正确的时间刻度X轴的小时刻度

时间:2019-04-02 04:36:24

标签: javascript chart.js2

我对chart.js(2.8.0)有问题。可能我做错了,但找不到自己。

我想在时间标度X轴上设置小时刻度,并将time设置为

unit: 'hour',
displayFormats: { hour: 'HH:MM'}

我希望有x轴刻度,例如18:00、19:00、20:00,... 但是我得到的是18:01、19:01、20:01,...

我该如何纠正并删除这多余的一分钟?

我的html文件如下:

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <script src="https://cdn.jsdelivr.net/npm/moment@2.24.0/moment.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0/dist/Chart.min.js"></script>
</head>

<body>
    <div id="canvas-container" style="width: 400px">
        <canvas id="myCanvas" width="400" height="400"></canvas>
    </div>
    <script src="script.js"></script>
</body>

</html>

和script.js如下:

var ctx = document.getElementById('myCanvas').getContext('2d');
var myData = {
    type: 'line',
    data: {
        datasets: [{
            data: [
                {x:'2019-01-01 18:20', y:20},
                {x:'2019-01-01 19:50', y:45},
                {x:'2019-01-01 21:15', y:25},
                {x:'2019-01-01 21:45', y:30}
            ]
        }]
    },
    options: {
        scales: {
            xAxes: [{
                type: 'time',
                position: 'bottom',
                time: {
                    unit: 'hour',
                    displayFormats: {
                        hour: 'HH:MM'
                    },
                    min: '2019-01-01 18:00',
                    max: '2019-01-01 22:00'
                },
            }],
            yAxes: [{
                ticks: {
                    beginAtZero: true
                }
            }]
        }
    }
};
var myChart = new Chart(ctx, myData);

0 个答案:

没有答案