我正在使用JFreeChart并希望能够将范围轴上的标签从数字更改为对于我所在的域更有意义的内容。我只能看到用于自定义标签外观的选项,并且无法覆盖基于滴答位置的标签内容。如何在JFreeChart的NumberAxis上更改tickLabel?
有谁知道如何覆盖tickLabel的文本?
我正在使用JFreeChart并希望能够将范围轴上的标签从数字更改为对于我所在的域更有意义的内容。我只能看到用于自定义标签外观的选项,并且无法覆盖基于滴答位置的标签内容。如何在JFreeChart的NumberAxis上更改tickLabel?
有谁知道如何覆盖tickLabel的文本?
JFreeChart BarChartDemo
显示了如何使用setStandardTickUnits()
方法。 NumberAxis
有几个方便的静态工厂。要覆盖默认值,您可以“创建自己的实例TickUnits
,然后将其传递给setStandardTickUnits()
方法。”
附录:上面提到的默认值只使用java.text.Format
的子类;你可以提供你自己的每个TickUnit
你add()
。如果这不合适,您可以在TickUnit
的自己的具体子类中覆盖valueToString()
,并使用它来组合所需的TickUnits
。
我刚刚在发现同样问题时发现了这个问题。我通过使用SymbolAxis
解决了这个问题。 SymbolAxis
可以添加到XYPlot
。
SymbolAxis sa = new SymbolAxis("AxisLabel",
new String[]{"Category1","Category2","Category3","..."});
chart.getPlot().setDomainAxis(sa);
与[Unicode](http://www.unicode.org/charts/)一起使用也很好。 – trashgod 2011-05-15 00:50:50
并不像我希望的那么容易,但这太棒了!谢谢。 – 2010-03-03 14:16:07