如何在JFreeChart中更改NumberAxis上的tickLabel?
我正在使用JFreeChart,并希望能够将范围轴上的标签从数字更改为对我所在的域更有意义的内容。我只看到用于自定义标签外观的选项,无法覆盖内容标签基于刻度线的位置。
有谁知道如何覆盖tickLabel的文本?
JFreeChart BarChartDemo1
显示了如何使用setStandardTickUnits()
方法。 NumberAxis
有几个方便的静态工厂。 要覆盖默认值,您可以“创建自己的TickUnits
实例,然后将其传递给setStandardTickUnits()
方法。”
附录:上面提到的默认值只使用java.text.Format
的子类; 你可以为你add()
每个TickUnit
提供自己的add()
。 如果这不合适,您可以在您自己的TickUnit
的具体子类中覆盖valueToString()
,并使用它来组成所需的TickUnits
。
我刚刚遇到同样的问题时发现了这个问题。 我使用SymbolAxis
解决了它。 SymbolAxis
可以添加到XYPlot
。
SymbolAxis sa = new SymbolAxis("AxisLabel", new String[]{"Category1","Category2","Category3","..."}); chart.getPlot().setDomainAxis(sa);