2012-07-19 35 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