मैं नीचे की छवि में हरे रंग की रेखा के लिए एक रैखिक ढाल लागू करना चाहता हूं। 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

किसी भी प्रकार की मदद की बेहद सराहना की जाती है।

0
hknhknhkn 25 नवम्बर 2021, 10:14

1 उत्तर

सबसे बढ़िया उत्तर

मुझे एक ही समस्या है और मेरा समाधान इस तरह की विशेष सेटअप विधि के साथ संयुक्त चार्ट रेंडरर के लिए कस्टम रेंडरर बनाना था:

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()
0
Webfreak 25 नवम्बर 2021, 10:45
इसने एकदम जादू की तरह काम किया! बहुत - बहुत धन्यवाद।
 – 
hknhknhkn
25 नवम्बर 2021, 11:05