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
的自定义实现来仅填充数据集之间的区域。
我现在正在使用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
的自定义实现来仅填充数据集之间的区域。