2012-07-10 78 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