2012-07-10 58 views
3

我有一个jqPlot线图,我正在尝试解决如何自定义X值的荧光笔文本。jqPlot荧光笔更改x值

所以。我有以下几点:

var line1=[100, 68, 63, 36, 28]; 
var line2=[100, 71, 68, 42, 32]; 
var line3=[100, 60, 45, 15, 5]; 
var line4=[100, 76, 58, 22, 8]; 
var plot3 = $.jqplot('chart3', [line1,line2,line3,line4], { 
axes:{ 
     xaxis: { 
       ticks: [ [1, 'group1'], 
         [2, 'group2'], 
         [3, 'group3'], 
         [4, 'group4'], 
         [5, 'group5'] 
         ], 
       tickOptions:{ 
         showGridline: false, 
       }, 
      }, 
     yaxis:{ 
      label:'Percentage', 
      labelRenderer: $.jqplot.CanvasAxisLabelRenderer, 
      min : 0, 
      max : 100, 
      pad : 0, 
      numberTicks : 11, 
      } 
    }, 

哪个正确,显示图形,与X轴读取组1组2等.. 但是当我在加剔线路1荧光笔选项,例如悬停2只框显示“ 2.0,68“。我想要做的是显示“group2,68”。

我尝试玩formatString参数,但无法让它工作。

有人能指点我正确的方向吗?

谢谢。

回答

2

我可以想出一个解决方案,也许不是最好的解决方案,但最合适的,我可以很快考虑考虑你展示的代码。它涉及到使用下面的代码。基本上每一个鼠标移动,其中neighbour不为空(这是用于显示荧光笔工具提示的条件),我正在改变工具提示为我喜欢的。

$("#chart").bind('jqplotMouseMove', function(ev, gridpos, datapos, neighbor, plot) { 
    if (neighbor) { 
     $(".jqplot-highlighter-tooltip").html("" + plot.axes.xaxis.ticks[neighbor.pointIndex][1] + ", " + datapos.yaxis.toFixed(2) + " Oi"); 
    } 
}); 

For a working code sample please see.

+1

感谢您的回复。该解决方案快速且易于使用。只是复制/粘贴,改变了“#chart”来匹配我的和它的工作。 – Jake 2012-07-18 02:35:13

1

没有尝试,但这个代码似乎做你期待https://gist.github.com/2422033

这里是关于JqPlot文档highlighter plugin的链接。检查tooltipAxes属性

而这里有一个解决方案的链接显示在默认情况下不支持的工具提示上的系列名称。检查评论#1 https://bitbucket.org/cleonello/jqplot/issue/109/enable-highlighter-tooltip-to-display-label-of-the-series-on#comment-65301

+0

+1出有趣的链接。虽然我更喜欢避免更改'jqPlot'脚本,因此我提供了不同的答案。 – Boro 2012-07-11 15:03:59