2012-10-01 41 views
0

是否有方法可以更改jqPlot圖形每個點上的文本。因此,而不是每個點顯示其正常值,可以改變爲別的東西。我圖上的每個點代表不同的數據。例如,我想要顯示按月分解測試的學生數量。但不是工具提示說我想讓它顯示平均測試結果的數量。更改顯示jqPlot工具提示的內容

是否有可能改變工具提示文本?

感謝

回答

1

首先,這不是你的問題的具體解決方案,但它可以作爲一個可能的方法。

我已經實現了使用pointLabelsplugin上jqplot類似的結果。

這裏是你可以做什麼,

的pointLabels插件顯示它是用來繪製圖表的數據陣列的內容。但是有一個選項可以提到數據數組的哪個索引應該用來顯示點標籤。

pointLabels: { 
    show: true, 
    seriesLabelIndex: 2 
} 

所以你可以做的是爲你的數據數組中的每一點,你可以包括任何你想要在圖表中顯示的細節。

但請記住,此未顯示爲工具提示,而是作爲點標籤顯示。

我創建了一個小例子讓你明白這一點。

http://jsfiddle.net/GayashanNA/q9mH8/

我也創建了一個博客帖子描述什麼我做我的項目,閱讀這裏得到一些信息,如果你認爲這個解決方案可以幫助你。

http://gayashan-a.blogspot.de/2012/10/tracking-mouse-position-on-your_2.html

0

我發現你問的具體問題的解決方案。實際上有一種方法來顯示自定義工具提示,但它在任何地方都沒有很好的文檔記錄。

這裏是你如何能做到這一點。首先你必須包括highlighter plugin。然後在繪圖選項中設置與此相似的熒光筆選項。

highlighter: { 
    show: true, 
    tooltipContentEditor: tooltipContentEditor 
} 

這裏tooltipContentEditor是可被用於輸出定製HTML作爲工具提示的外部函數。

然後你可以從這個函數返回計算的平均或其他所需的值。

function tooltipContentEditor(str, series_index, point_index, plot) { 
    len = plot.data[series_index].length; 
    total = 0; 
    for (i = 0 ; i < len; i++) { 
     total += parseFloat(plot.data[series_index][i][1]); 
    } 
    return "average:"+total/len; 
} 

您可以使用函數傳遞的參數訪問所有數據。

看一看我的jsFiddle here