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

bdn*_*ang 5 android linechart mpandroidchart

我正在使用MPAndroidChart。当我使用 LineChart setDrawFilled() 方法填充线条和 x 轴之间的空间,并手动将范围调整为大于默认值时,填充的部分将超出 x 轴,如下所示截屏:在此处输入图片说明

蓝色填充应在绿色虚线处停止,该线位于 x 轴上方,但它会延伸至正 y 值。

*经过进一步调查,我发现似乎只有在绿线设置为 0 时才会发生。

Phi*_*oda 5

另一种选择是使用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;
    }
}
Run Code Online (Sandbox Code Playgroud)

getFillLinePosition(...)方法内部,您当然可以根据各种影响因素开发自己的关于线位置应该在哪里的逻辑。

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

lineChart.setFillFormatter(new MyCustomFillFormatter());
Run Code Online (Sandbox Code Playgroud)