2012-07-19 73 views
4

我無法找到如何修改y軸的標籤。 現在我使用帶有MINUTE類的TimeSeries,然後將TimeSeries插入到數據集中。 它看起來像這樣:JFreeChart:如何在y軸上顯示小時格式

final TimeSeries s1 = new TimeSeries("Importation Time", Minute.class); 
    s1.add(new Minute(dateFinal),concateHourAndMinuteToGetASingleValue); 
    dataset.addSeries(s1); 

我想要做的就是修改顯示標籤,並把一個String(05h20對爲例),而不是雙重價值。

任何幫助將不勝感激:)

謝謝!

回答

5

您需要在axis上設置FormatOverride

這裏是既是NumberAxis一個例子,一個DateAxis

XYPlot plot = (XYPlot) chart.getPlot(); 

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis(); 
rangeAxis.setNumberFormatOverride(new NumberFormat(){ 

    @Override 
    public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) { 
     return new StringBuffer(String.format("%f", number)); 
    } 

    @Override 
    public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) { 
     return new StringBuffer(String.format("%f", number)); 
    } 

    @Override 
    public Number parse(String source, ParsePosition parsePosition) { 
     return null; 
    } 

}); 
DateAxis domainAaxis = (DateAxis) plot.getDomainAxis(); 
domainAaxis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy")); 
+0

有一個相關的例子[這裏](http://stackoverflow.com/questions/5420756)。 – trashgod 2012-07-19 19:36:00