JFreeChart:如何在y轴上显示小时格式

use*_*901 4 charts jfreechart

我找不到如何修改y轴的标签.现在我使用带有MINUTE类的TimeSeries,然后将TimeSeries插入数据集.它看起来像这样:

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

我想要做的是修改显示标签,并放置一个字符串(05h20为例)而不是Double值.

任何帮助将非常感激 :)

谢谢!

Gra*_*amA 5

您将需要设置FormatOverrideaxis.

以下是a NumberAxis和a 的示例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"));
Run Code Online (Sandbox Code Playgroud)