danielgindi / Charts - iOS - установить метку над определенной полосой на гистограмме - PullRequest
0 голосов
/ 07 ноября 2018

Я использую библиотеку danielgindi / Charts для своего проекта iOS в swift. В частности, я использую гистограммы, где каждый день (ось х) представляет какое-то значение (ось у). Я знаю, что мы можем нарисовать значения на каждом баре, установив setDrawValues на графике данных.

Вместо этого значения мне нужно показать что-то еще. Допустим, я хочу выделить сегодняшний бар, поместив над ним метку «Сегодня».

Может кто-нибудь подсказать мне, как я могу это сделать?

Спасибо

1 Ответ

0 голосов
/ 07 ноября 2018

Я думаю, что самый простой способ решить вашу задачу - использовать пользовательский форматировщик значений. Вы можете контролировать, какие значения будут видны или скрыты. Например.

import Charts

class MyValueFormatter: IValueFormatter {
    var xValueForToday: Double?  // Set a value

    func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String {
        if entry.x == xValueForToday {
            return "Today"
        } else {
            return String(value)
        }
    }
}

и используйте его

myBarChartView.barData?.setValueFormatter(MyValueFormatter())
myBarChartView.barData?.setDrawValues(true)
...