MPAndroid CandleStickChart 在切换到 CombinedChart 时不起作用

MPAndroid CandleStickChart doesn't work when switched to CombinedChart

我有一个工作 CandleStickChart(和一个工作 LineChart)。

如果我更改为 CombinedChart,则不会显示蜡烛图(或线条)。

这是怎么回事? (直觉是它与颜色和样式有关,但没有记录这些功能。)

private lateinit var candlestickChart:CombinedChart

    fun createCandlestickChart() {
        candlestickChart.setBackgroundColor(Color.BLACK)
        candlestickChart.getDescription().setEnabled(false)
        candlestickChart.getDescription().setEnabled(false)
        candlestickChart.setTouchEnabled(true)
        candlestickChart.setDrawGridBackground(false)
        candlestickChart.setViewPortOffsets(36f, 6f, 4f, 4f)
        candlestickChart.setDragEnabled(false)
        candlestickChart.setScaleEnabled(true)
        candlestickChart.setPinchZoom(false)
        candlestickChart.legend.isEnabled = false

        candlestickChart.setDrawBorders(true)

        val xAxis: XAxis = candlestickChart.getXAxis()
        xAxis.setAxisMinimum(-1f)
        xAxis.setAxisMaximum(20f)
        xAxis.setDrawGridLines(false)

        val yAxis: YAxis = candlestickChart.getAxisLeft()
        yAxis.setAxisMaximum(70f)
        yAxis.setAxisMinimum(0f)
//        yAxis.enableGridDashedLine(10f, 10f, 0f)
        yAxis.setDrawZeroLine(true)
        yAxis.setZeroLineWidth(2f)
        yAxis.setLabelCount(7)
        yAxis.setTextColor(Color.parseColor("#EEEEEE"))

        candlestickChart.getAxisRight().setEnabled(false)

        val candles = arrayListOf<CandleEntry>()
        val cds: CandleDataSet = CandleDataSet(candles, "boxes")
        cds.setDrawValues(false)
        cds.setAxisDependency(YAxis.AxisDependency.LEFT)
        cds.shadowWidth = 3f // Seems to be the line and border width.
        cds.shadowColor = Color.WHITE // R.color.text comes out blue.
        cds.decreasingColor = Color.WHITE
        cds.decreasingPaintStyle = Paint.Style.STROKE
        cds.increasingColor = Color.WHITE
        cds.increasingPaintStyle = Paint.Style.STROKE
        cds.neutralColor = Color.WHITE
        cds.setDrawHighlightIndicators(true)
        cds.highLightColor = Color.WHITE
        cds.highlightLineWidth = 6f // Either nobody knows what this is or it's a secret.
        cds.formLineWidth = 6f // This too. 
        cds.barSpace = 0.2f
        viewModel.candlestickChartBoxData.value = cds

        val lines = arrayListOf<Entry>()
        val lds:LineDataSet = LineDataSet(lines, "med")
        lds.setDrawValues(false)
        lds.setAxisDependency(YAxis.AxisDependency.LEFT)
        lds.setColor(Color.WHITE);
        lds.setLineWidth(2.5f);
        lds.setCircleColor(Color.WHITE);
        lds.setFillColor(Color.WHITE);
        lds.setDrawValues(true);
        lds.setValueTextSize(10f);
        lds.setValueTextColor(Color.WHITE);
        viewModel.candlestickChartLineData.value = lds

        val cd: CombinedData = CombinedData()
        cd.addDataSet(cds)
        cd.addDataSet(lds)

        candlestickChart.setData(cd)
    }

问题是CombinedDta.addDataSet

相反,必须这样做

        val cd:CandleData = CandleData()
        cd.addDataSet(cds)

        val ld:LineData = LineData()
        ld.addDataSet(lds)

        val z: CombinedData = CombinedData()
        z.setData(cd)
        z.setData(ld)