0

2 つの y 軸を持つ JQplot チャートの場合、ツールチップを設定できますが、データポイントにカーソルを合わせると、ツールチップが属する y 軸を知る必要があります。適切な倍率を掛けた後にツールチップを表示できるようにするために、これが必要です。私が試したコードを以下に示します。y2 軸に属するデータ ポイントにカーソルを合わせると、y が null になると思いました。ただし、y が null になることはありません。

 $("#"+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

初めてjqplotで遊んでいました。とても楽しいです。

蛍光ペンプラグインjqplot.highlighter.jsで、336行目で拡張しました

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

Chromeデベロッパーツールを使用して、この時点でデータモデルを取得し、隣接するオブジェクトのコンテンツを確認できます。(スコープ変数>ローカル>ネイバー>データ)

それは私が誰でもそれをした方法です。それが役に立てば幸い。

于 2012-07-11T06:51:54.377 に答える
0

変数 seriesIndex は、ツールチップが属するシリーズを識別するのに役立ちます。:)

于 2012-07-09T09:58:38.890 に答える