MPAndroidChart:LineChart填充不会在XAxis处停止

我使用的是MPAndroidChart.当我使用LineChart setDrawFilled()方法填充线和x轴之间的空间,并手动将范围调整为大于默认值时,填充部分将超过x-如此屏幕快照所示的轴:

蓝色填充应停止在x轴上方的绿色虚线处,但会在其上方延伸并变为正y值.

*经进一步调查,我发现似乎仅在绿线设置为0时发生.

解决方法:

另一种选择是使用该库提供的FillFormatter接口:https://github.com/PhilJay/MPAndroidChart/blob/master/MPChartLib/src/com/github/mikephil/charting/utils/FillFormatter.java

此类允许您做的是在“填充线”应在何处结束创建自己的逻辑.

只需在您的自定义格式器类中实现FillFormatter类,然后返回您想要填充线结束的值即可.

例:

class MyCustomFillFormatter implements FillFormatter {

    // return the fill position
    public float getFillLinePosition(LineDataSet dataSet, LineData data, float chartMaxY, float chartMinY) {
        return 0f;
    }
}

当然,在getFillLinePosition(…)方法中,您可以根据各种影响因素在行的位置上开发自己的逻辑.

创建格式化程序后,将其设置为LineChart:

lineChart.setFillFormatter(new MyCustomFillFormatter());
上一篇:MPAndroidChart添加并显示条形图标签


下一篇:是否可以使用MPAndroidChart创建多色(堆叠)条形图?