如何在 kotlin 中设置 mpandoroidchart 的颜色?

How to set mpandoroidchart's color in kotlin?

我想设置图表的数据颜色
所以,我找到了 MPAndroidchart,但示例是 Java,而不是 Kotlin。

这是我的 Kotlin 源代码。我怎样才能改变颜色?
另外,我想在条形图下方的条形图中制作标签(如第一张图片)和饼图
请帮帮我.. T_T

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_result)
    val tabHost = findViewById<TabHost>(R.id.TabHost)
    tabHost.setup()
    //종합 탭 소스
    val tabSpecTotal = tabHost.newTabSpec("Total").setIndicator("종합")
    tabSpecTotal.setContent(R.id.total)

    //남녀 성비 그래프
    sexRateChart.setUsePercentValues(true)
    sexRateChart.description.setEnabled(false)
    sexRateChart.setExtraOffsets(5f, 10f, 5f, 5f)
    sexRateChart.dragDecelerationFrictionCoef = 0.95f
    sexRateChart.isDrawHoleEnabled = false
    sexRateChart.setHoleColor(Color.BLACK)
    sexRateChart.transparentCircleRadius = 61f

    val sexValues = ArrayList<PieEntry>() // 데이터 삽입
    sexValues.add(PieEntry(63f,"남성"))
    sexValues.add(PieEntry(37f,"여성"))

    sexRateChart.animateY(2000, Easing.EaseInOutCubic) //애니메이션 효과 설정

    val sexDataSet = PieDataSet(sexValues, "성별")
    sexDataSet.sliceSpace = 3f
    sexDataSet.selectionShift = 2f

    val sexData = PieData((sexDataSet))
    sexData.setValueTextSize(10f)
    sexData.setValueTextColor(Color.BLACK)
    sexRateChart.setData(sexData)
    sexRateChart.invalidate()
    //남녀 성비 끝

    //연령대 막대그래프
    ageRateChart.setExtraOffsets(5f, 10f, 5f, 5f)
    val ageValues = ArrayList<BarEntry>()
    ageValues.add(BarEntry(0f, 10f, "10대"))
    ageValues.add(BarEntry(1f, 30f, "20대"))
    ageValues.add(BarEntry(2f, 50f, "30대"))
    ageValues.add(BarEntry(3f, 30f, "40대"))
    ageValues.add(BarEntry(4f, 40f, "50대"))
    ageValues.add(BarEntry(5f, 5f, "60대 이상"))

    ageRateChart.animateY(4000, Easing.EaseInOutCubic)

    val ageDataSet = BarDataSet(ageValues, "연령대")
    ageDataSet.setColors(intArrayOf(R.color.red1, R.color.red2, R.color.red3, R.color.red4), Context)


    val ageData = BarData(ageDataSet)
    ageData.barWidth = 1f
    ageRateChart.data = ageData
    ageRateChart.setFitBars(true)
    ageRateChart.invalidate()
    //연령대 막대그래프 끝

代码结果:

您可以使用 fills

设置颜色
        val startColor1 = ContextCompat.getColor(this, android.R.color.holo_orange_light)
        val startColor2 = ContextCompat.getColor(this, android.R.color.holo_blue_light)
        val startColor3 = ContextCompat.getColor(this, android.R.color.holo_orange_light)
        val startColor4 = ContextCompat.getColor(this, android.R.color.holo_green_light)
        val startColor5 = ContextCompat.getColor(this, android.R.color.holo_red_light)

        val gradientFills: MutableList<Fill> = ArrayList()
        with(gradientFills) {
            add(Fill(startColor1))
            add(Fill(startColor2))
            add(Fill(startColor3))
            add(Fill(startColor4))
            add(Fill(startColor5))
        }
        
        val ageDataSet = BarDataSet(ageValues, "연령대")
        ageDataSet.fills = gradientFills

并用 ValueFormatter

标记
        ageRateChart.xAxis.apply {
            position = XAxisPosition.BOTTOM
            setDrawGridLines(false)
            granularity = 1f
            valueFormatter = object : ValueFormatter() {
                override fun getAxisLabel(value: Float, axis: AxisBase?): String {
                    return (value * 10 + 10).toString() + "대"
                }
            }
        }