У меня есть код Kotlin, который генерирует гистограмму, используя mp android графики lib. На данный момент информация жестко запрограммирована для тестирования, но в будущем она будет загружена с сервера. Проблема в том, что я создаю al oop для этого раздела кода, который назначает formColors и Labels для легенд.
barChart = findViewById<View>(R.id.barChart) as BarChart
val mLegend = barChart.legend
val l1 = LegendEntry()
l1.formColor = Color.BLACK
l1.label = "18-Jan"
val l2 = LegendEntry()
l2.formColor = Color.RED
l2.label = "19-Jan"
val l3 = LegendEntry()
l3.formColor = Color.GREEN
l3.label = "20-Jan"
val l4 = LegendEntry()
l4.formColor = Color.GRAY
l4.label = "21-Jan"
val l5 = LegendEntry()
l5.formColor = Color.CYAN
l5.label = "22-Jan"
val l6 = LegendEntry()
l6.formColor = Color.MAGENTA
l6.label = "23-Jan"
mLegend.setCustom (
arrayOf (
l1, l2, l3, l4, l5, l6
)
)
Вот массив mColors и months
val mColors = arrayOf(
Color.BLACK,
Color.RED,
Color.GREEN,
Color.GRAY,
Color.CYAN,
Color.MAGENTA
)
val months = arrayOf(
"18-Jan",
"19-Jan",
"20-Jan",
"21-Jan",
"22-Jan",
"23-Jan"
)
Здесь это данные.
private fun getData(): MutableList<BarEntry>? {
val entries: ArrayList<BarEntry> = ArrayList()
entries.add(BarEntry(0f,1000f))
entries.add(BarEntry(1f,985f))
entries.add(BarEntry(2f,275f))
entries.add(BarEntry(3f,300f))
entries.add(BarEntry(4f,784f))
entries.add(BarEntry(5f,675f))
return entries
}
Это l oop, который я пытаюсь создать. К сожалению, он показывает только одну легенду, когда я запускаю его на устройстве. Любая помощь приветствуется.
private fun assignLabelColor() {
// am assuming that the size of data is 5 for this question
for(i in 0 until 5) {
val lE = LegendEntry()
l.formColor = mColors
l.label = months
}
mLegend.setCustom (
arrayOf (lE)
)
}