他们是否有可能填充 MPAndroidChart 中两个数据集之间的区域?

Is their any possibility to fill area between two DataSet in MPAndroidChart?

我需要填写两个图表之间的区域。我试图用 FillFormatter 来做到这一点,但它只能在图表和直线之间填充。是否可以如图所示填充区域 2 图表(底部和顶部图表,描述最大和最小允许值)?网格必须在白色背景下可见 chart example

请查看FillFormatter interface. You can apply it to a dataset using mLineDataSet.setFillFormatter(mFillFormatter)

我找到了解决方案

  1. 禁用标准网格: getAxisLeft().setDrawGridLines(false); getXAxis().setDrawGridLines(false);
  2. 添加 FillFormatter 填充,如本例所示: https://github.com/PhilJay/MPAndroidChart/blob/remove_xindices/MPChartExample/src/com/xxmassdeveloper/mpchartexample/FilledLineActivity.java
  3. 使用LimitLine绘制自定义网格:

     private void drawCustomGrid(XAxis xAxis, YAxis yAxis,
                                float xMax, float yMax,
                                int color, float width) {
    
        if (xAxis.getLimitLines().size() == 0) {
    
            for (int i = 10; i <= xMax; i += 10) {
                LimitLine limitLine = new LimitLine(i);
                limitLine.setLineWidth(width);
                limitLine.setLineColor(color);
                xAxis.addLimitLine(limitLine);
            }
        }
    
        if (yAxis.getLimitLines().size() == 0) {
    
            for (int j = 10; j <= yMax; j += 10) {
                LimitLine limitLine = new LimitLine(j);
                limitLine.setLineWidth(width);
                limitLine.setLineColor(color);
                yAxis.addLimitLine(limitLine);
            }
        }
    }
    

定义自定义 FillFormatter 和 LineChartRenderer。请参阅此处的示例。