使用Flot Javascript绘图库重叠数据线
我必须画多条线,并希望在鼠标悬停时在数据点上绘制工具提示。但是,有些可能共享相同的(x,y)。这会导致重叠点。它们相互重叠绘制 “plothover”事件似乎只返回最后绘制的最顶部的数据。因此,工具提示仅适用于该点。我想在多个数据点悬停时绘制多个工具提示 以前有人遇到过这个问题吗使用Flot Javascript绘图库重叠数据线,javascript,jquery,flot,Javascript,Jquery,Flot,我必须画多条线,并希望在鼠标悬停时在数据点上绘制工具提示。但是,有些可能共享相同的(x,y)。这会导致重叠点。它们相互重叠绘制 “plothover”事件似乎只返回最后绘制的最顶部的数据。因此,工具提示仅适用于该点。我想在多个数据点悬停时绘制多个工具提示 以前有人遇到过这个问题吗 谢谢 是的,查看源代码,flot只会在plothover上找到最上面的点。最简单的方法就是自己做这项工作。下面是对plothoverbind的一般搜索: if (item) { var cont
谢谢 是的,查看源代码,
flot
只会在plothover
上找到最上面的点。最简单的方法就是自己做这项工作。下面是对plothover
bind的一般搜索:
if (item) {
var content = item.series.label;
var someData = plot.getData();
for (var i = 0; i < someData.length; i++){
if (someData[i].label == item.series.label){
continue; // skip item's series...
}
for (var j=0; j < someData[i].data.length; j++){
if (someData[i].data[j][0] == item.datapoint[0] &&
someData[i].data[j][1] == item.datapoint[1]){
content += ' ' + someData[i].label;
}
}
}
showTooltip(item.pageX, item.pageY, content);
}
if(项目){
var内容=item.series.label;
var someData=plot.getData();
对于(var i=0;i
举个例子
完整代码:
$(函数(){
变量绘图=$.plot($(“#占位符”),[
{数据:[[0,0],[1,1],[2,2]],标签:“第一行”},
{数据:[[0,2],[1,1],[2,0]],标签:“第二行”},
{数据:[[0,0],[0.5,1],[1,1],[2,3]],标签:“第三行”}
], {
系列:{
行:{show:true},
要点:{show:true}
},
网格:{hoverable:true,clickable:true}
});
函数显示工具提示(x、y、内容){
$('#工具提示').html(内容);
$(“#工具提示”).css({
顶部:y+5,
左:x+5,
显示:“块”});
}
$(“#占位符”).bind(“plothover”,函数(事件、位置、项目){
如果(项目){
var内容=item.series.label;
var someData=plot.getData();
对于(var i=0;i
Hi@HarshaMV,flot GitHub已经有两年多没有更新了,所以我不知道你在寻找什么样的更新。我上面的解决方案不再有效了吗?无法使其发挥作用。我会更仔细地看:)@HarshaMV,如果你想写一个新问题,我很乐意看一看。