我希望我的JFree charts中的Axis成为%而不是普通数字,是否有人知道我可以如何修改我的代码,因此会发生这种情况。

应该说我的桌子已经摆放了,但是它自己的桌子却不在!

更新

香港专业教育学院到目前为止已尝试过,但仍然没有改变:

CategoryPlot plot = (CategoryPlot) chart.getPlot();
    NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
    DecimalFormat pctFormat = new DecimalFormat("#.0%");
    rangeAxis.setNumberFormatOverride(pctFormat);
    rangeAxis.setRange(0.0, 100.0);

    chart.getXYPlot().setRangeAxis(rangeAxis);
    title = periode;
    chartPanel.setChart(chart);
    setTableModel(true,true);


更新2

要将间隔设置为10,您需要以下代码:

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setRange(0.0, 100.0);
        rangeAxis.setTickUnit(new NumberTickUnit(10));
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        rangeAxis.setAutoRangeIncludesZero(true);

最佳答案

您可以使用NumberAxis#setNumberFormatOverride()并提供一个java.text.NumberFormat

CategoryPlot plot = (CategoryPlot) chart.getPlot();
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
DecimalFormat pctFormat = new DecimalFormat("#.0%");
rangeAxis.setNumberFormatOverride(pctFormat);

07-24 09:23