JFree图表将轴设置为百分比

时间:2012-10-24 09:03:57

标签: java jfreechart

我希望我的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);

UPDATE2

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

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

1 个答案:

答案 0 :(得分:4)

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

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