MPCHART实现区域背景显示

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个需求,要动态显示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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值