MPAndroidChart:具有填充区域问题的多线图表

MPAndroidChart: Multi-line chart with filled area issue

我现在正在使用MPAndroidChart画折线图my chart

从上面的截图可以看出,我指定的颜色(图例中显示)与图表下方最终填写的颜色不一样,有什么办法可以确保不同的颜色不会混在一起? 下面是我用来绘制两条线的代码

    LineDataSet vlfDs = new LineDataSet(vlfValues, "VLF");
    vlfDs.setMode(LineDataSet.Mode.CUBIC_BEZIER);
    vlfDs.setCubicIntensity(0.2f);
    vlfDs.setDrawFilled(true);
    vlfDs.setDrawCircles(false);
    vlfDs.setLineWidth(0);
    vlfDs.setCircleRadius(4f);
    vlfDs.setColor(Color.YELLOW);
    vlfDs.setFillColor(Color.YELLOW);
    vlfDs.setFillAlpha(100);

    LineDataSet lfDs = new LineDataSet(lfValues, "LF");
    lfDs.setCubicIntensity(0.2f);
    lfDs.setDrawFilled(true);
    lfDs.setDrawCircles(false);
    lfDs.setLineWidth(0);
    lfDs.setCircleRadius(4f);
    lfDs.setCircleColor(Color.WHITE);
    lfDs.setColor(Color.GREEN);
    lfDs.setFillColor(Color.GREEN);
    lfDs.setFillAlpha(100);
    hrvLineData = new LineData(hfDs,lfDs,vlfDs, hrDs);
    hrvLineData.setValueTextSize(0);
    hrvLineData.setDrawValues(false);

    hrvChartView.setData(hrvLineData);

    hrvChartView.invalidate();

原来我需要用setFillAlpha(255)代替setFillAlpha(100)

您还可以使用类似于以下解决方案的方法来覆盖默认 LineChartRenderer 并使用 IFillFormatter 的自定义实现来仅填充数据集之间的区域。