如何更改 JFreeChart 中 NumberAxis 上的 tickLabel?
Posted
技术标签:
【中文标题】如何更改 JFreeChart 中 NumberAxis 上的 tickLabel?【英文标题】:How can I change the tickLabel on a NumberAxis in JFreeChart? 【发布时间】:2010-03-02 18:31:31 【问题描述】:我正在使用 JFreeChart,并且希望能够将范围轴上的标签从数字更改为对我所在的域更有意义的值。我只看到自定义标签外观的选项,无法覆盖标签的内容基于刻度的位置。
有谁知道如何覆盖 tickLabel 的文本?
【问题讨论】:
【参考方案1】:JFreeChart BarChartDemo1
展示了如何使用setStandardTickUnits()
方法。 NumberAxis
有几个方便的静态工厂。要覆盖默认值,您可以“创建自己的 TickUnits
实例,然后将其传递给 setStandardTickUnits()
方法。”
附录:上面提到的默认值只是使用java.text.Format
的子类;您可以为每个TickUnit
和add()
提供自己的。如果这还不够,您可以在自己的TickUnit
的具体子类中覆盖valueToString()
,并使用它来组成所需的TickUnits
。
【讨论】:
没有我希望的那么简单,但这太棒了!谢谢。【参考方案2】:我只是在遇到同样问题时发现了这一点。我通过使用SymbolAxis
解决了它。 SymbolAxis
可以添加到XYPlot
。
SymbolAxis sa = new SymbolAxis("AxisLabel",
new String[]"Category1","Category2","Category3","...");
chart.getPlot().setDomainAxis(sa);
【讨论】:
以上是关于如何更改 JFreeChart 中 NumberAxis 上的 tickLabel?的主要内容,如果未能解决你的问题,请参考以下文章
更改 jfreechart 的域轴标签和范围轴标签的字体大小