在TimeSeriesChart中将轴更改为百分比

时间:2014-02-26 15:41:31

标签: java jfreechart

我试图将时间图表上的值显示为百分比。我的代码目前是

    TimeSeries ts = new TimeSeries("Test");
    ts.add(new Month(2,2001), 50);
    ts.add(new Month(2,2002), 70);
    TimeSeriesCollection ts1 = new TimeSeriesCollection();
    ts1.addSeries(ts);



    JFreeChart chart = ChartFactory.createTimeSeriesChart("test", "x", "y", ts1, true, true,false);
    XYPlot plot = (XYPlot) chart.getXYPlot();
    NumberAxis axis = (NumberAxis) plot.getRangeAxis();
    axis.setTickUnit(new NumberTickUnit(10));
    DecimalFormat format = new DecimalFormat("#%");
    axis.setNumberFormatOverride(format);
    axis.setRange(0, 100);

    ChartPanel chartPanel = new ChartPanel(chart);

这确实显示百分比,但它显示为1000%,2000%等。我希望它们是10%,20%等。有谁知道我哪里出错了?

1 个答案:

答案 0 :(得分:0)

我已成功使用

修复它
        format.setMultiplier(1);

并更改了

        DecimalFormat format = new DecimalFormat("#%");

        DecimalFormat format = new DecimalFormat("##%");