美文网首页
0.MPAndroidChart简介(MPAndroidChar

0.MPAndroidChart简介(MPAndroidChar

作者: 世界是一个圆_ | 来源:发表于2018-06-03 17:07 被阅读0次

MPAndroidChart是android上非常流行的一个图表类开源库,仓库地址如下:https://github.com/PhilJay/MPAndroidChart

最近公司要做BI相关的功能,调研了很多图标库,最终选中了这个开源库,由于产品的设计不同需要修改其中的源码,为了更好的修改源码,决定对其源码做一个详细的分析。
私以为分析源码的最好的方式就是大体看一遍源码后,仿照源码简单的实现一遍这个库,这里就是将柱状图进行了简单的实现,代码在此:https://github.com/wangzhen90/Simple-MPAndroidChart

下面我们简单的介绍一下这个库的结构

1.数据结构:

数据关系图.png

以BarChart为例,每一个BarChart含有一个BarData,BarData中包含了多个BarDataSet,每个BarDataSet包含一组BarEntry,BarEntry中持有每一个数据的xValue和yValue。

2.绘制类

绘制类就是多个Renderer类,比如BarRenderer类等,后面会详细介绍

3.工具类

工具类主要包含ViewPortHandler和Transformer这两个类,它们俩是作为中间人的角色,连接着Renderer,ChartView,TouchListener等。

4.简易的绘制流程图

绘制流程.png

需要注意的一点是,若是在Chart的onSizeChange执行完之后才设置了数据,需要调用invalidate,比如我们在延时之后再设置data:

new Timer().schedule(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        barChart.setData(data);
                        barChart.invalidate();
                    }
                });
            }
        },1000);

相关文章

  • 0.MPAndroidChart简介(MPAndroidChar

    MPAndroidChart是android上非常流行的一个图表类开源库,仓库地址如下:https://githu...

  • 基于MPAndroidChart库制作K线图

    最近制作一个炒币的app,类似于炒股的那种,网上资料很多很杂,最后使用github上面的MPAndroidChar...

  • Android-实现原生图表的开源库(MPAndroidChar

    在日常的Android开发,我们需要做数据统计相关的需求的时候,如果用想要原生开发的方式实现,我们可能会用MPAn...

  • 18旅游二班各组自我简介汇总

    一组简介 二组简介 三组简介 四组简介 五组简介 六组简介 七组简介 八组简介

  • 简介

    上辈子,洛幽喜欢了东凡一辈子,没有结果,之后她死了,她不后悔,只是为什么她一睁眼,嗯?捏了捏自己的脸,她这是回到了...

  • 简介

    1.主动地去阅读。 2.阅读目的:获得资讯,获得理解 前者为了增进资讯,获得信息,不能增加理解力。后者为了理解更多...

  • 简介

    姓名:赵金星 电话:13903984903 坐标:河南三门峡市陕州区。 三个标签的自我介绍: 1.时间管理践行者 ...

  • 简介

    朱凝不过打错个字,便被天打雷劈回古代。 为毛别人穿个废柴嫡女,她穿个废柴庶女?地位更低了哎 哇喔,别人嫁王爷,她嫁...

  • 简介

    凌波网络考试系统,是一套运行于Windows系统之上的无纸化网络考试软件。包括试卷编辑、分发试卷、学生答卷、自动阅...

  • 简介

    名字:笨小孩 不是富二代的笨小孩为了生活选择了编程。在大多数人眼里可能感觉编程是很无聊很辛苦经常加班的事情,其实人...

网友评论

      本文标题:0.MPAndroidChart简介(MPAndroidChar

      本文链接:https://www.haomeiwen.com/subject/nuwjsftx.html