Основная проблема здесь в том, что ваши значения не соответствуют индексам массива days. Первый совпадает с индексом 0, следовательно, он показывает, но другие значения 20, 40, 60 ... которые являются OutOfArrayIndexBounds. Таким образом, чтобы решить эту проблему, вы должны создать карту вместо массива. Здесь я решил вашу проблему:
class MyValueFormatter : ValueFormatter() {
private val days = mapOf(0.0f to "Mon", 20.0f to "Tu", 40.0f to "Wed", 60.0f to "Th", 80.0f to "Fr", 100.0f to "Sa", 120.0f to "Su")
override fun getAxisLabel(value: Float, axis: AxisBase?): String {
return if (days.containsKey(value)) days[value] else value.toString()
}
}