0

对于具有 2 个 y 轴的 JQplot 图表,我可以设置工具提示,但是当我将鼠标悬停在数据点上时,我需要知道工具提示属于哪个 y 轴。我需要这个,以便在乘以适当的比例因子后显示工具提示。我尝试的代码如下所示。当我们将鼠标悬停在属于 y2 轴的数据点上时,我认为 y 将为空。但 y 永远不会为空。

 $("#"+sTargetId).bind('jqplotcustomDataMouseOver', 
                   function (ev, seriesIndex, pointIndex, data) {    
                     var chart_left = $("#"+sTargetId).offset().left,
                     chart_right = ($(window).width() - ($("#"+sTargetId).offset().left + $("#"+sTargetId).outerWidth())),
                     chart_top = $("#"+sTargetId).offset().top,
                       x = oPlot.axes.xaxis.u2p(data[0]),
                       y = oPlot.axes.yaxis.u2p(data[1]),
                       y2 = oPlot.axes.y2axis.u2p(data[1]);;
                       if(y===null|| y===undefined){   //this condition doesnt work
                       var tooltipDataYaxis = data[1]*scaleYaxis1;
                       var sYDisplay = this.sYAxis1MeasureName;
                       $('#tooltip').css({left:chart_left+x, top:chart_top+y, marginRight:chart_right});
                       }
                       else{

                        tooltipDataYaxis = data[1]*scaleYaxis2;
                        sYDisplay = this.sYAxis2MeasureName;
                        $('#tooltip').css({left:chart_left+x, top:chart_top+y2, marginRight:chart_right});
                       }

                          $('#tooltip').html(

                                 '<span style="font-family: Arial;font-size:'+sTooltip+';font:bold;color:#000000;">'+ sYDisplay+': ' + tooltipDataYaxis +'</span>');
                         $('#tooltip').show();
                   });

        $("#"+sTargetId).bind('jqplotcustomDataUnhighlight', 
                 function (ev, seriesIndex, pointIndex, data) {
                     $('#tooltip').empty();
                     $('#tooltip').hide();
                 });


    }
4

2 回答 2

0

变量 seriesIndex 将有助于识别工具提示属于哪个系列。:)

于 2012-07-09T09:58:38.890 回答
0

我只是第一次玩jqplot。很有趣。

在荧光笔插件 jqplot.highlighter.js 中,我在第 336 行对其进行了扩展

elem.html(str + " 组件:"+neighbor.data[2] );

此时您可能会使用 Chrome 开发人员工具获取数据模型并查看邻居对象的内容。(范围变量>本地>邻居>数据)

我就是这样做的。希望能帮助到你。

于 2012-07-11T06:51:54.377 回答