您的位置:首页 > 移动开发 > Android开发

关于MpAndroidChart的折线图问题

2016-02-04 10:38 393 查看
这些天公司要做统计报表,用到折线图。我在网上找了一下,发现MpAndroidChart这个开源框架非常不错,所以便直接拿过来用了。

不多说废话,直接说要点:

遇到的问题:我们需要把折线图中的最高点画上小圆点,但框架本身并没有这个功能

解决:

1、创建了一个方法获取到集合数据中的最大值

/**
* 取最大值
*
* @param lists
* @return
*/
private float[] getMaxFloat(List<Entry> lists) {
float[] maxEntry = new float[2];
for (int i = 0; i < lists.size() - 1; i++) {
if (i == 0) {
maxEntry[0] = lists.get(i).getXIndex();
maxEntry[1] = lists.get(i).getVal();
}
if (maxEntry[1] < lists.get(i + 1).getVal()) {
maxEntry[0] = lists.get(i + 1).getXIndex();
maxEntry[1] = lists.get(i + 1).getVal();
}

}
return maxEntry;
}
2、在源码LineChartRenderer类中的drawCircles方法中调用刚创建的方法

3、在源码CircleBuffer类中重写了feed方法

// 自己重写的方法
public void feed(List<Entry> entries, float[] maxDot) {
addCircle(maxDot[0], maxDot[1] * phaseY);
reset();
}
4、将获取到的最大值传递给feed方法。
5、圆点出来了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: