最近有个需求,要动态显示100-200区域范围,
MPChart提供了setDrawFilled(true) ,但是下面所以区域都填充了。
setFillAlpha(85) 会设置填充透明度,假如设置了255,也就是不透明,连分割线都填充了。

1.正常的MRchart用法,可以参考我之前的文章https://blog.youkuaiyun.com/neabea2016/article/details/89676519
下面就说应对这个的用法,
Activity增加:
List<Entry> Entries = new ArrayList<>();
Entries.add(new Entry(0, 220,70));
Entries.add(new Entry(2, 220,70));
LineDataSet dataSet = new LineDataSet(Entries , "label");
dataSet.setDrawFilled(true);
之所以选用Entry的三个构造参数,是偷个懒,将data传入value下限值,
也可以新写个方法传参
2.下载MPCHART源码
LineChartRenderer.java
private void generateFilledPath(final ILineDataSet dataSet, final int startIndex, final int endIndex, final Path outputPath) {
//获取填充下限值,重新该方法
final float fillMin = dataSet.getFillFormatter().getFillLinePosition(d

在MPChart中,为了实现100-200区域的动态显示,需要解决setDrawFilled(true)填充整个区域的问题。通过调整fillAlpha并设置合适的Entry构造参数,可以精确控制填充范围。此外,修改LineChartRenderer.java和DefaultFillFormatter.java源码也能达到目标效果。
最低0.47元/天 解锁文章
862

被折叠的 条评论
为什么被折叠?



