javascript - Chart.js 折线图工具提示显示错误的标签,当线条不是从第一个标签开始时

标签 javascript chart.js

我有一个简单的折线图,x 轴上有 5 个标签:'Oct 2018', 'Jan 2019', 'Apr 2019', 'Jul 2019', 'Oct 2019'以及仅在 3 个中间标签上具有点的线 'Jan 2019', 'Apr 2019', 'Jul 2019' .
问题是当行数据不是从第一个标签开始时(就像我的例子一样),工具提示在悬停时显示不正确的标签。从下图中可以看出,当我将鼠标悬停在 'Apr 2019' 上时数据点,工具提示显示 'Jan 2019' .同样,当我将鼠标悬停在 'Jul 2019' 上时数据点,工具提示显示 'Apr 2019' .你能告诉我我错过了什么吗?
wrong tooltip label
这是代码:

<canvas id="canvas" ></canvas>
<script>
    var lineChartData = {
        labels: ['Oct 2018', 'Jan 2019', 'Apr 2019', 'Jul 2019', 'Oct 2019'],
        datasets: [
            {
                label: 'Oranges',
                borderColor: window.chartColors.blue,
                backgroundColor: window.chartColors.blue,
                fill: false,
                data: 
                [
                    {y: 30, x: 'Jan 2019'},
                    {y: 20, x: 'Apr 2019'},
                    {y: 25, x: 'Jul 2019'},
                ],              
            }           
        ]
    };

    window.onload = function() {
        var ctx = document.getElementById('canvas').getContext('2d');
        window.myLine = Chart.Line(ctx, {
            data: lineChartData,
            options: {
                responsive: true,
                hoverMode: 'index',
                stacked: false,
                scales: {
                    yAxes: [{
                        type: 'linear',
                        display: true,
                        position: 'left'
                    }],
                }
            }
        });
    };
</script>

最佳答案

基本上,答案是替换它:

[
    {y: 30, x: 'Jan 2019'},
    {y: 20, x: 'Apr 2019'},
    {y: 25, x: 'Jul 2019'},
]
有了这个:
[null, 30, 20, 25, null]

关于javascript - Chart.js 折线图工具提示显示错误的标签,当线条不是从第一个标签开始时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64466458/

相关文章:

php - 点击链接后 JQuery 提交表单

javascript - NodeJS + Android,Socket.io 聊天,应用程序在用户离开聊天室时崩溃

javascript - Node js中JSON特定位置的访问

Chart.js:将部分标签设为粗体

chart.js - 从 cdn 添加时间笛卡尔轴的日期适配器

angular - 核心.js :4197 ERROR TypeError: chart_js__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

javascript - AngularJS http get 没有向 Controller 传递任何内容

javascript - chrome.app.window.create 创建两个窗口

javascript - Chart.js 在两点之间画线

chart.js - 恢复工具提示顺序