如何在图表的X轴上显示自定义文本而非数值

3
我正在使用Danielgindi/Charts中的LineChart。我有一个要求,需要在x轴上显示自定义文本而不是值。
通过我的实现,我得到了这个结果。

My Implementation

但是,我需要它作为

enter image description here

如果您观察第二张图片,就会发现X轴上有文本(WEEK 1、WEEK 2、WEEK 3、WEEK 4),而不是像第一张图片中那样是数值(0.0、0.8、1.6、2.4)。

请让我知道是否有选项可以在X轴上显示文本而不是数值。

1个回答

2

您需要创建一个实现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()

无法将类型为'SomeClass'的值分配给类型'(any AxisValueFormatter)?',请插入' as! any AxisValueFormatter'。我在iOS 16中遇到了这个问题。 - Guri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接