Android 统计图HelloChart折线图两种特殊数据不能展示统计图问题记录和解决方法

在Android项目中使用HelloChart的LineChartView时遇到两个问题:1) 只有两组相同Y轴值的数据时不显示;2) 只有一组数据时不显示。通过调试源码发现计算错误,对ChartComputator类和Y轴最大值最小值计算进行调整。已生成新的引入库以供使用,并感谢Android学习笔记作者的帮助。
摘要由CSDN通过智能技术生成

项目中要用到统计图功能,经过比对发现HelloChart用的很多也很广泛

在使用LineChartView折线图时发现两个Bug

1、当只有两组数据且两组数据Y轴值相同时,折线图不显示

2、当有且只有一组数据时,折线图不显示

在网上查找到一大神debug源码后给出的解决方案,详情参照链接

在此也做个记录

问题1:通过debug调试发现:在计算RawX,RawY会出现pixelOffset为NaN的问题。(ChartComputator类)

public float computeRawX(float valueX) {
        // TODO: (contentRectMinusAllMargins.width() / currentViewport.width()) can be recalculated only when viewport
        // change.

        final float pixelOffset = (valueX - currentViewport.left) * (contentRectMinusAllMargins.width() /
                currentViewport.width());
        if (Float.isNaN(pixelOffset)||Float.isInfinite(pixelOffset)) {
            return contentRectMinusAllMargins.left + 0;

        }
        return contentRectMinusAllMargins.left + pixelOffset;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值