2

我希望我的JFree 图表中的 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);
4

1 回答 1

4

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

CategoryPlot plot = (CategoryPlot) chart.getPlot(); 
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
DecimalFormat pctFormat = new DecimalFormat("#.0%");
rangeAxis.setNumberFormatOverride(pctFormat);
于 2012-10-24T09:53:49.523 回答