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