如何在JFreeChart中更改NumberAxis上的tickLabel?

Ton*_*ger 5 java jfreechart

我正在使用JFreeChart,并希望能够将范围轴上的标签从一个数字更改为对我所在的域更有意义的内容.我只看到自定义标签外观的选项,无法覆盖内容标签基于刻度线的位置.

有谁知道如何覆盖tickLabel的文本?

tra*_*god 7

JFreeChart BarChartDemo1显示了如何使用该setStandardTickUnits()方法.NumberAxis有几个方便的静态工厂为此.要覆盖默认值,您可以"创建自己的实例,TickUnits然后将其传递给setStandardTickUnits()方法".

附录:上面提到的默认值只使用了一个子类java.text.Format; 你可以提供自己的每一个TickUnitadd().如果这不合适,您可以valueToString()在自己的具体子类中覆盖TickUnit并使用它来组成所需的TickUnits.


小智 5

我刚刚遇到同样的问题时发现了这个问题.我通过使用一个解决了它SymbolAxis.SymbolAxis可以添加到XYPlot.

SymbolAxis sa = new SymbolAxis("AxisLabel",
    new String[]{"Category1","Category2","Category3","..."});
chart.getPlot().setDomainAxis(sa);
Run Code Online (Sandbox Code Playgroud)