2012-04-20 105 views
1

餅圖數據標籤格式精密我想知道如何格式餅圖數據標籤,使其顯示最多2位小數字符,從未顯示尾隨零,例如:jqplot沒有尾隨零

2 -> 2 
2.0 -> 2 
2.566 -> 2.57 

換句話說,我問如何設置dataLabelFormatString參數? 我知道它使用的是sprintf,因此我嘗試了'%.2f'和'%g'。但他們並沒有解決我的問題。由於第一個數字使得每個數字都顯示爲十進制字符,另一個只刪除尾隨零,但不能精確地處理,因爲在這種情況下,您將數字放在前面,例如。 '%.2g'是指角色的總長度。

我不知道怎麼地,有效地,結合這兩種(它甚至有可能?)。如何設置參數,例如,使用'%.2f'然後使用'%g'的第一種格式,它應該做的伎倆,但如何做到這一點?

可我也許「注入」的的if/else成格式,如果這樣的話怎麼辦?

否則我能想到的唯一辦法是,一旦該地塊繪製,運行jQuery腳本獲取標籤和應用上的每個parseFloat(label.toFixed(2))

回答

2

要關閉此主題,我發佈我的答案在這裏。我設法解決了這個問題,感謝jQuery。當談到客戶端時,它似乎又是一種真正的生活救星。 :)

我一直在使用parseFloat(label.toFixed(2))同樣走近它在我的問題提到了我的思想,即。雖然我以稍微顛倒的方式做了。我決定將圖表設置爲使用label作爲dataLabels參數。一旦圖表完成繪製,我使用$.jqplot.postDrawHooks.push(...)綁定我的函數以執行。我的函數修改圖例標籤以顯示名稱,而不是我在將它們設置爲數據數組之前計算的百分比值。

這種方法完全按照我的意願工作。 To those interested, please find my jsfiddle showing the solution here.

如果有人有更好的解決方案我非常希望在任何時候從我的答案中移除接受

+0

我需要餅圖上的標籤格式,它爲我工作更好,如果它是「%.2f%」 – Thea 2012-06-26 12:54:59

+0

@Teddy感謝。在我的情況下,我真的需要刪除尾部零,因此你提到的格式不適合我,因爲它總是會有2位數字。在我的情況下,我在圖表上有很多數據,我想要標籤,但同時要避免零不必要的混亂,它不會告訴任何東西:) – Boro 2012-06-26 13:12:54