2012-05-14 40 views
3

我想爲我的圖中的x標籤執行以下操作。AndroidPlot,設置不同的DomainValueFormats

第一個標籤應該有格式:

plot.getGraphWidget() 
     .setDomainValueFormat(new SimpleDateFormat("dd/MM/yyyy hh:mm:ss")); 

其他所有的標籤應僅顯示分秒:

plot.getGraphWidget() 
     .setDomainValueFormat(new SimpleDateFormat("mm:ss")); 

我可以爲所有標籤的格式,但我不能弄清楚如何僅爲第一個標籤進行更改。我的圖形是動態的,每秒都會改變(傳入數據每秒更新一次新值)。

有沒有可能幫助我的功能? (在網站被關閉的情況下找到這一切都很難...)或者其他任何提示?

任何幫助,非常感謝。

+0

更新:我試圖做很長一段時間,現在放棄。我現在只是顯示格式hh:mm:ss,並假設用戶會理解它是當前數據。 – taranaki

回答

0

假設您的域模型中沒有重複值,則可以跟蹤第一個值並在自定義Formatter實現內測試是否相等。這不是很好,但是因爲沒有辦法將正在繪製的項目的索引傳遞給格式化程序,這是我看到這樣做的唯一方法。

+0

另一種可能的解決方案:如果你的域值是均勻分佈的(或者你至少不介意它們看起來在圖上),那麼你可以使用一個自定義的Formatter和一個索引數組作爲你的域值{0,1,2 ,3,...}和一個查找表,其中有相應的標籤{「2/1/2012 12:00」,「3/1/2012 12:00」}。當您收到調用以呈現「0」的格式化程序時,請在索引0處返回查找表中的值。 – Nick