如何更改 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的子类;您可以为每个TickUnitadd() 提供自己的。如果这还不够,您可以在自己的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 - 根据不断变化的数据刷新图表

更改 jfreechart 的域轴标签和范围轴标签的字体大小

如何利用jfreechart生成柱状,饼状,折线形图形。

如何使用javabean汇入jfreechart生成的图表

如何将 JFreeChart 的图形保存在 PNG 图像中?

Jfreechart - 如何添加带有破折号的图例项?