2

请问如何更改 Y 轴以显示相同位数的数据。

这就是我的图表

这是生成该图部分的代码

final CategoryPlot plot = (CategoryPlot)result.getPlot ();
plot.setBackgroundPaint(Color.BLACK);
plot.setDomainGridlinePaint(Color.white);
plot.setRangeGridlinePaint(Color.white);

NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setRange (1.2, 1.3);
rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits ());
rangeAxis.setTickUnit (new NumberTickUnit(0.005));

如您所见,我将起点固定在 1.2,终点固定在 1.3,并将 TickUnit 定义为 0.005。所以正常(我认为)我应该有一些渐进的东西:1.2 1.205 1.210 ... 1.305


这就是我想要获得的

如何修改代码以获取带有等级值的 Y 轴?谢谢

我想我找到了这个解决方案

DecimalFormat df = new DecimalFormat("0.000");
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setRange (1.200, 1.300);
rangeAxis.setStandardTickUnits(NumberAxis.createStandardTickUnits ());
rangeAxis.setTickUnit (new NumberTickUnit(0.005, df, 0));

它似乎工作正常。谢谢

4

1 回答 1

4

图表轴将接受一个java.text.NumberFormat实例,它将用于格式化标签。为此,请尝试将这些行添加到您的代码中:

DecimalFormat newFormat = new DecimalFormat("0.000");
rangeAxis.setNumberFormatOverride(newFormat);
于 2012-09-24T16:40:38.720 回答