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