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群:
开源中国的收录地址: 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
Android开源图表库XCL-Charts版本号公布及展示页的更多相关文章
- Android开源图表库介绍
XCL-Charts XCL-Charts V1.8 Android开源图表库(XCL-Charts is a free charting library for Android platfo ...
- 我的Android进阶之旅------>【强力推荐】Android开源图表库XCL-Charts版本发布及展示页
因为要做图表相关的应用,后来百度发现了一个很好的Android开源图表库(XCL-Charts is a free charting library for Android platform.) 下面 ...
- android 开源图表库MPChart最简单使用方法示例教程Demo--折线图 柱状图
转载请注明本文出处:http://blog.csdn.net/wingichoy/article/details/50428246 MPChart是android上一款强大的图表开源库,他可以轻松的绘 ...
- android开源图表库MPAndroidChart(曲线图、直方图、饼状图)
github地址:https://github.com/PhilJay/MPAndroidChart 添加依赖: Add the following to your project level bui ...
- hellocharts-android开源图表库(效果非常好)
泡在网上的日子 发表于 2014-11-07 12:28 第 33156 次阅读 chart 2 编辑推荐:稀土掘金,这是一个高质量的技术干货分享社区,web前端.Android.iOS.设计资源和产 ...
- Android开源图表图形库K线图
Android开源图表图形库K线图 web端k线图一般使用TradingView,android原生的一般是在MPAndroidChart 基础上做开发的,目前看到一个比较好的K线开源组件是KChar ...
- Android使用图表库简单教程
经常要用到统计数据这个功能,要直观的显示出来,最好还是用图表.自己弄也麻烦,所以用了Github上的一个非常著名的开源图标库:MpChart. 使用前去网上找它俩的jar包,然后导入就行.资源比较好找 ...
- android 优秀图表库之MPAndroidChart
MPAndroidChart 1.在项目当中很多时候要对数据进行分析就要用到图表,在gitHub上有很多优秀的图表开源库,这里就简单介绍一下MPAndroidChart. 他可以实现图表的拖动,3D, ...
- Android开源工具库
一.依赖注入DI 通过依赖注入降低View.服务.资源简化初始化,事件绑定等反复繁琐工作 1. AndroidAnnotations(Code Diet) android高速开发框架 项目地址:htt ...
随机推荐
- 简单的 centos7&rhel7 系统初始化脚本
#!/bin/bash #描述: 基于RHEL7¢os7的初始化配置 #读取用户输入的ip read -p "输入你当前Linux的IP地址:" LAST #截取网 ...
- P4555 [国家集训队]最长双回文串(回文树)
题目描述 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为abc,逆序为cba,不相同). 输入长度为 n 的串 S ,求 S 的最长双回文子串 T ,即可 ...
- java回调方法、钩子方法以及模板方法模式
在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类称为回调类,回调类的对象称为回调对象,其处理事件的方法叫做回调方法.(摘自百度百科) 那么通过上面那句话将百度百科中的&qu ...
- IOS 'NSInternalInconsistencyException'
今天想写一个请求的天气.好的.废话不多说.先贴代码: 使用AFNetWorking 发送get请求,可是一直报错 IOS 'NSInternalInconsistencyException', re ...
- elasticsearch搜索类型简单介绍
简单搜索 GET请求很easy--你能轻松获取你想要的文档.让我们来进一步尝试一些东西.比方简单的搜索! 我们尝试一个最简单的搜索所有员工的请求: GET /megacorp/employee/_se ...
- netsh http的使用
1.首先通过cmd进入 C:\Windows\System32\inetsrv>netshnetsh>http netsh http> 退出的时候,使用exit命令 2.显示监听的i ...
- Vsftp权限控制(持续增加中)
把用户限制在自己的home目录中,例如限制用户Leon只能访问/home/Leon目录下的文件,不允许访问上级目录. 先打开配置文件 vi /etc/vsftpd/vsftpd.conf 第一种方法: ...
- logAnalyzer日志管理系统配置实例
LogAnalyzer日志管理系统配置实例 上个月我写过一篇<利用EventlogAnalyzer分析Linux日志>一文深受大家喜欢,今天我再次为大家讲解Linux系统下的一款开源的日志 ...
- Android中Gallery和ImageSwitcher同步自动(滚动)播放图片库
本文主要内容是如何让Gallery和ImageSwitcher控件能够同步自动播放图片集 ,看起来较难,然而,实现的方法非常简单, 请跟我慢慢来.总的来说,本文要实现的效果如下图:(截图效果不怎么好) ...
- 【理论基础】ContentProvider的简要概述
对于Android应用而言,他们必须相互独立,各自运行在自己的Dalvik虚拟机实例中,如果这些Android应用之间需要实现实时的数据交换——例如我们开发了一个发送短信的程序,当发送短信时需要从联系 ...