【问题标题】:How can I change the tickLabel on a NumberAxis in JFreeChart?如何更改 JFreeChart 中 NumberAxis 上的 tickLabel?
【发布时间】:2023-04-10 00:58:02
【问题描述】:

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

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

【问题讨论】:

    标签: java jfreechart


    【解决方案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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 2012-05-03
      • 1970-01-01
      • 2013-10-24
      • 2012-10-12
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      相关资源
      最近更新 更多