问题:如何在图表的 X 轴上显示自定义文本而不是值

我正在使用来自Danielgindi/Charts的LineChart。我需要在 x 轴上显示自定义文本而不是值。

通过我的实施,我得到了这个

我的实现

但是,我需要它作为

在此处输入图像描述

如果您在第二个图像中观察,x 轴上有文本(第 1 周、第 2 周、第 3 周、第 4 周),而不是第一个图像中的值(0.0、0.8、1.6、2.4)。

让我知道,如果有任何选项可以在 x 轴上显示文本而不是值。

解答

您必须创建一个实现 AxisValueFormatter 协议的类。

您必须实现的唯一功能是 func stringForValue(_ value: Double, axis: AxisBase?) -> String

  class SomeClass: AxisValueFormatter  {
    
    func stringForValue(_ value: Double, axis: AxisBase?) -> String {
        return weeks[Int(value)]
    }
}

var weeks = ["WEEK1", "WEEK2", "WEEK3", "WEEK4"]

 chart.xAxis.valueFormatter = SomeClass()
Logo

ModelScope旨在打造下一代开源的模型即服务共享平台,为泛AI开发者提供灵活、易用、低成本的一站式模型服务产品,让模型应用更简单!

更多推荐