CombinedChart:是否可以将 LinearGradient 应用于 CombinedChart 中的线条?

CombinedChart: is it possible to apply LinearGradient to a line within a CombinedChart?

我想将 LinearGradient 应用于下图中的绿线。 CombinedChart

如下所示,将 LinearGradient 应用于 LineChart 很简单,但此方法不适用于 CombinedChart。

        val gradient = LinearGradient(
            0f, 500F, 0f, 0f,
            ContextCompat.getColor(context, R.color.red),
            ContextCompat.getColor(context, R.color.blue),
            Shader.TileMode.CLAMP
        )

        binding.lineChart.renderer.paintRender.shader = gradient

非常感谢任何帮助。

我遇到过类似的问题,我的解决方案是使用像这样的特殊设置方法为组合图表渲染器创建自定义渲染器:

class CustomRenderer(private val chart: CombinedChart) : CombinedChartRenderer(chart, chart.animator, chart.viewPortHandler) {
    fun setup() {
        mRenderers.forEach { renderer ->
            if (renderer is LineChartRenderer) {
                chart.lineData.dataSets.forEach { dataSet ->
                    setLineGradient(dataSet, renderer) // apply your gradient here
                }
            }
        }
    }
}

您可以在 chart 范围内像这样应用此渲染器:

yourChart.apply {
   val customRenderer = CustomRenderer(this)
   renderer = customRenderer
}

完成向数据集添加数据后调用设置方法:

customRenderer.setup()