我是靠谱客的博主 美好白猫,最近开发中收集的这篇文章主要介绍java柱状图添加水平线,Chart.js - 条形图上的水平线干扰工具提示,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我正在使用Chart.js 2.6并且我已经实现了horizontalLine插件来显示条形图上的平均值 . 它工作正常,但是当工具提示显示在与线相交的点上时,它部分被水平线本身覆盖 . 我试图弄清楚如何使工具提示在水平线上绘制 .

我理解工具提示是canvas元素的一部分,因此没有z-index属性 . 我怎么能做到这一点?

这是我用于水平线插件的内容 .

var horizonalLinePlugin = {

afterDraw: function(chartInstance) {

var yScale = chartInstance.scales["y-axis-0"];

var canvas = chartInstance.chart;

var ctx = canvas.ctx;

var index, line, style, width;

if (chartInstance.options.horizontalLine) {

for (index = 0; index < chartInstance.options.horizontalLine.length; index++) {

line = chartInstance.options.horizontalLine[index];

style = (line.style) ? line.style : "rgba(169,169,169, .6)";

yValue = (line.y) ? yScale.getPixelForValue(line.y) : 0 ;

ctx.lineWidth = (line.width) ? line.width : 3;

if (yValue) {

ctx.beginPath();

ctx.moveTo(chartInstance.chartArea.left, yValue);

ctx.lineTo(canvas.width, yValue);

ctx.strokeStyle = style;

ctx.stroke();

}

if (line.text) {

ctx.fillStyle = style;

ctx.fillText(line.text, 0, yValue + ctx.lineWidth);

}

}

return;

}

}

};

Chart.pluginService.register(horizonalLinePlugin);

...然后我使用以下内容将其添加到条形图选项中

options: {

...standard option stuff...

"horizontalLine": [{

"y": averageValue,

"style" : colorOfTheLine

}]

}

这会生成一个如下图所示的图表 .

44ae17cf-3de7-4a3e-9230-1a23dead5828.png

..但是,当您将鼠标悬停在图表的某个部分上以显示工具提示时,并且工具提示位于水平线的路径中时,会导致出现下面的问题 .

05f4296e-043f-4d9f-a254-e680bb82d334.png

最后

以上就是美好白猫为你收集整理的java柱状图添加水平线,Chart.js - 条形图上的水平线干扰工具提示的全部内容,希望文章能够帮你解决java柱状图添加水平线,Chart.js - 条形图上的水平线干扰工具提示所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部