javascript - 条形图上的 Chartjs 数字在悬停时闪烁

标签 javascript chart.js

我这里有一个简单的 ChartJS 条形图 - https://jsfiddle.net/e8n4xd4z/1037/

我使用 onComplete 函数在条形图中显示金额。

当我将鼠标悬停在栏上时,数字会闪烁。

任何人都可以看到或知道为什么会发生这种情况吗?

<body>
    <canvas id="chartJSContainer" width="600" height="400"></canvas>
</body>

最佳答案

onComplete 更改为 onProgress 似乎可以解决此问题。

animation: {
        onProgress: function () {
            var chartInstance = this.chart,
          ctx = chartInstance.ctx;
            ctx.fillStyle = "white";
            ctx.font = "600 30px Helvetica";
            ctx.textAlign = 'center';
            ctx.textBaseline = 'bottom';

            this.data.datasets.forEach((dataset) => {
                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 + 50);
                    }
                }
            });

至于数字消失,图表上的文本似乎在调整大小时没有被重新绘制。因此,您需要在调整窗口大小时重新渲染它。

可以通过使用窗口的 onresize 事件并再次渲染图表来修复此问题。

window.onresize = function(event) {
   new Chart(ctx, options);
};

关于javascript - 条形图上的 Chartjs 数字在悬停时闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46565747/

相关文章:

Javascript 如何访问类中的类

javascript - 如何在 Javascript 中将数组对象/元素写入表

javascript - 为什么当我在 map 上绘制要素时会触发选择功能?

javascript - "Responsive"Chart.js图表​​比包含窗口高

javascript - 如何用 Canvas 制作动画条形图?

javascript - 注销自定义元素

javascript - 我需要什么脚本来检测用于访问我的网站的设备或计算机?

javascript - 带有 ChartJS 的 Vuejs 从 API 填充

javascript - 折线图渲染后回调

css - 在 chartjs 中更改饼图和折线图中标签的字体系列