zoukankan      html  css  js  c++  java
  • Android开源图表库XCL-Charts版本号公布及展示页

    XCL-Charts V2.1

            Android开源图表库(XCL-Charts is a free charting library for Android platform.)

            XCL-Charts基于原生的Canvas来绘制各种图表,在设计时,尽量在保证开发效率的同一时候,给使用者提供足够多的定制化能力。

    因此使用简便,同一时候具有相当灵活的定制能力。
             眼下支持(3D/非3D,背向式)柱形图(Bar Chart)、3D/非3D饼图(Pie Chart)、堆叠图(Stacked Bar Chart)、面积图(Area Chart)、
     折线图(Line Chart)、曲线图(Spline Chart)、环形图(Dount Chart)、南丁格尔玫瑰图(Rose Chart)、仪表盘(Dial Chart)、刻度盘(Gauge Chart)、 雷达图(Radar Chart)、圆形图(Circle Chart)弧线比較图范围条形图(RangeBar Chart)气泡图(Bubble Chart)散点图(Scatter Chart)玫瑰风向图(Wind Rose)、象限图
    等图表。
            其他特性还包含支持手势缩放、图表滑动、点击交互、动画效果、多XY轴显示、轴线随意方位显示、动态图例、图表參考线、混合图表及同数据源图表类型切换等。

    License

          採用Apache v2 License开源协议。

    GitHub上的代码托管地址:

     https://github.com/xcltapestry/XCL-Charts

      QQ群: 374780627

     开源中国的收录地址: http://www.oschina.net/p/xcl-charts


       为什么会有这个库?

             之所以有这个库,是由于前段时间学习Canvas时研究了一下各种图的实现方式,后面想想也许能够自己整理成一个图表库。 就利用下班时间写程序,形成了如今这个图表库XCL-Charts。非常麻烦,由于期间我还有别的项目要写。只是总算整理得能跑了。 

            所以XCL-Charts对我来说是个纯兴趣项目,纯练手用的,我眼下也不是搞Android的,所以在工作中也用不到这个。 但没想到的是,到今天为止,能做到如今这样的程度,已大大出乎我自己的预料了。仅仅能说,有时写代码是有惯性的,停都停不下来。


       关于库的一些东西:

        1.  基于原生的库

             之前看好多人是用Webview调用js库来绘图,而XCL-Charts是直接利用原生Canvas 相关函数画出图形,当然,这各有优点,

             但基于原生的在速度和可操作性还是有优势的,并且也无须你再去对web做啥研究。

        2 .  开放,自由,高定制性的库

                         XCL-Chart尽量把图的绘制逻辑封装在类中,而把绘制相关的各个基础元素开放出来,假设用过的人会发现,

               我分门别类开放了大量的Paint画笔类及其他函数, 供使用者去定制图的各种属性功能...... 

                         结果出现了这样的情况:非常多人问怎么找不到改文字大小的函数,改颜色的函数......之类问题。

                          亲们,没发现我把Android强大的Paint类都已经开放给你们了?里面有着大量现成的这些函数,有现成的我何必还要再封装一遍呢?

                同一时候我都把Paint类开放给你们了, 就相当于提供了无限的改造性。

    打开枷锁,把那些封装弱弱的库丢一边去吧。 你要习惯拥有这么大的自由度, 自由非常美好。

           3.  库的设计想法

                 有网友以前问过我一个问题, 这么多图,这么多代码,怎么没有看到继承哪个view? 仅仅传了个draw中的canvas进来??

                            是的,确实库仅仅传了一个canvas进来,那么多代码都是围着这个canvas来做的。 

                            由于我更偏向于做一个基类库,一个产生图表的引擎,而不是一个控件库。

               我觉得画图与view 应当做适当的隔离,让大家各自做各家的事,而不是混在一起纠缠不清。 

               假设图表须要作交互,响应一些view的事件,图库提供一些相关的接口给view去调用,或通过一些技巧再去相互组合,这样更加灵活。

               并且现有方式在处理混合图时,再多的图都能够调用图类,在同一块canvas上一层层的画。 对那种一个view封装一种图的形式真不太感冒。                       

          4. 库如今支持多少种图

                   今天加函数时数了数,眼下大大小小有18种图。吃惊 。不知不觉弄出这么多种类的图出来了。

          5. 功能需求

                    特殊功能需求,要是能自己动手的,大家自己动手吧。我通常仅仅加自己觉得有意思的东东,再说精力实在也有限。

          6.bug,代码抽取

                     发现bug,欢迎动手提交修正。  

                     但对于仅仅知道从库里抽代替码出来人。不要光索取,请记得还有回馈这回事。

           7.开源有没实用?

                     开源也有段时间了,究竟有没实用呢? 结论是实用,能收集到一堆的需求,五花八门,如今的app真是为了界面无所不用。 參考这些需求,能进一步

             完好这个项目。 但临时就真正用改bug,加功能等方式參与进来的,屈指可数。所以就写程序这个活而言,开源对我的帮助有,

             但没想象中的那么大。 只是无所谓了,这玩意本来就是自己图写个爽。

                    对于真正实用代码方式參与的,我都有在代码和Demo的about中有写上他们的网名,确实非常感谢他们。 另一群兄弟有些由于各种原因

             没实际參与代码编写, 只是他们用其他方式也算參与进来了,非常多从開始到如今一直在关注,真的非常不错。这也算是开源的还有一种收获了。

               

        Demoproject中附带的部份图表样例:  

      

     



              


                           


           


       

       

        

        

       

          

         

          

        

          

           

      

       

        


    MAIL: xcl_168@aliyun.com   【老被误会,这仅仅仅是一个邮箱帐号而已,尽管我想,但真不代表什么】

    Blog:http://blog.csdn.net/xcl168


         



  • 相关阅读:
    JavaScript 循环语句
    python 学习(day1)
    spring定时任务(@Scheduled注解)cron表达式详解
    IDEA 实用插件
    mysql版本和mysql-connector-java的对应关系记录
    CAS单点登录(理论部分)
    AOP
    获取post请求数据工具类
    nodeJs 安装
    docker 安装Nginx
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/4187542.html
Copyright © 2011-2022 走看看