1. Android 系统上一款开源的图表库
1. MPAndroidChart
MPAndroidChart 是 Android 系统上一款开源的图表库。目前提供线图和饼图,支持选择、缩放和拖放。
一个可以拖动缩放的图表库,包含曲线图、直方图、饼状图,其中直方图支持3d效果。
该库的可扩展性强,代码相对规范,最近一次更新有很大改进,如果不喜欢AChartEngine的过于复杂可以考虑在此库的基础上开发自己的图表类。
2. MPAndroidChart 核心特性
轴缩放(触摸手势,轴分开或两指缩放)
拖动(触摸手势)
手指画(画值为图的触摸手势)
值的高亮显示(与可定制的弹出视图)
图表保存到SD卡(如图像,或作为。txt文件)
读取txt文件图表数据。
预定义的颜色模板
图例(自动生成的,可定制的)
标签(X和Y轴,可定制的)
动画(建立动画,在X和Y轴)
限制线(提供额外的信息,最大值,……)
完全可定制的(绘画颜料,字体,颜色,背景,图例,手势,虚线。
3. MPAndroidChart 使用例子:
以piechart(饼状图)为例介绍使用方法:
(1)在xml布局文件之中:
- <com.github.mikephil.charting.charts.PieChart
- android:id="@+id/spread_pie_chart"
- android:layout_width="match_parent"
- android:layout_height="320dip" />
(2)Activity中的初始化:
- ColorTemplate mCt;
- mCt = new ColorTemplate();
- mCt.addDataSetColors(ColorTemplate.PASTEL_COLORS, this);
- mChart = (PieChart) headView.findViewById(R.id.spread_pie_chart);
- mChart.setColorTemplate(mCt);
- mChart.setDescription("");
- mChart.setHoleRadius(30f);
- mChart.setTransparentCircleRadius(0f);
- mChart.setCenterTextSize(18f);
- mChart.setDrawXValues(true);
- mChart.setUsePercentValues(true);
- mChart.setDrawLegend(false);
- // space between slices
- mChart.setSliceSpace(1f);
- mChart.setDrawHoleEnabled(false);
- mChart.setTouchEnabled(false);
(3)数据填充
- ArrayList<Entry> yVals = new ArrayList<Entry>();
- ArrayList<String> xVals = new ArrayList<String>();
- for (int i = 0; i < listDatas.size(); i++) {
- yVals.add(new Entry((float)listDatas.get(i).getProvinceCount(), i));
- xVals.add(listDatas.get(i).getProvinceName());
- }
- DataSet set1 = new DataSet(yVals, "Content");
- ArrayList<DataSet> dataSets = new ArrayList<DataSet>();
- dataSets.add(set1);
- ChartData data = new ChartData(xVals, dataSets);
- mChart.setData(data);
其中listData为自己项目中的数据源。
4. MPAndroidChart开源库地址:
https://github.com/PhilJay/MPAndroidChart
1. Android 系统上一款开源的图表库的更多相关文章
- 理解WebKit和Chromium: 调试Android系统上的Chromium
转载请注明原文地址:http://blog.csdn.net/milado_nju 1. Android上的调试技术 在Android系统上,开发人员能够使用两种不同的语言来开发应用程序,一种是Jav ...
- Android系统上如何实现easyconfig(airkiss)
刚买回来一个智能音箱和博联,需要给音箱和博联配置联网,音箱需要先打开蓝牙,然后在手机app中填写wifi的ssid和密码,通过蓝牙发送到音箱,音箱收到后连接到wifi. 博联就比较奇怪,进入联网模式以 ...
- 转 让Python在Android系统上飞一会儿
让Python在Android系统上飞一会儿 地址: http://blog.csdn.net/ccwwff/article/details/6208260
- 深入学习Android系统上mount命令的使用
博客链接:http://blog.csdn.net/qq1084283172/article/details/52493227 在Android系统的预装apk病毒和elf病毒的清除时,经常需要先获取 ...
- 【Android】让Python在Android系统上飞一会儿
第一节 在手机上配置Python运行环境 1.下载和安装 Scripting Layer for Android (SL4A) Scripting Layer for Android (SL4A) 是 ...
- Android驱动入门-在Android系统上运行JAVA程序
在linux上运行java程序,直接用javac编译,再用java运行就行了.但是在Android上,由于虚拟机和pc端的不同,所以操作方法也是不一样的. 如果想在Android上运行Hello wo ...
- 运行在 Android 系统上的完整 Linux -- Termux
Termux 可以在安卓系统上搭建一个完整的linux 环境,类似于 cygwin 并非linux 虚拟机,整个安装包只有 几百KB 刚开始觉得这东西的命令行很难用,看了官方介绍后才发现它原来有许多 ...
- 最新开源JavaScript 图表库 ECharts推荐
ECharts是一款由百度前端技术部开发的,基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表. ECharts 提供大量常用的数据可视化图表,底层基于Z ...
- [Android游戏开发]八款开源 Android 游戏引擎 (巨好的资源)
初学Android游戏开发的朋友,往往会显得有些无所适从,他们常常不知道该从何处入手,每当遇到自己无法解决的难题时,又往往会一边羡慕于 iPhone下有诸如Cocos2d-iphone之类的免费游戏引 ...
随机推荐
- Java 从单核到多核的多线程(并发)
JAVA 并发编程 最初计算机是单任务的,然后发展到多任务,接着出现多线程并行,同时计算机也从单cpu进入到多cpu.如下图: 多任务:其实就是利用操作系统时间片轮转使用的原理.操作系统通 ...
- 一条scan查询把HBase集群干趴下
最近在给公司搭建CDH集群,在测试集群性能时,写了一条简单的scan查询语句竟然把hbase集群的所有regionserver干趴下了.这让我云里雾里的飘飘然. 背景介绍 CDH集群,2台主节点.3台 ...
- RabbitMQ>Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as OnFail is set to ignore.-报错解决方案 原来是NNND。。。
>Erlang machine stopped instantly (distribution name conflict?). The service is not restarted as ...
- Uploadify 3.2使用
我今天介绍的Uploadify 3.2的,以前旧版本的并不适用,说到这个,我就火大,我也是第一次使用,也百度了下使用手册,结果坑爹的那些手册都是旧版的,新版的Uploadify接口和旧版的差太多了.废 ...
- Delphi使用FindClass实现动态建立对像(有点像反射)
相关资料:http://www.blogjava.net/nokiaguy/archive/2008/05/10/199739.html { http://www.blogjava.net/nokia ...
- pandas.DataFrame 中save方法
In [5]: frame.save('frame_pickle') ----------------------------------------------------------------- ...
- POJ 3169 Layout (差分约束系统)
Layout 题目链接: Rhttp://acm.hust.edu.cn/vjudge/contest/122685#problem/S Description Like everyone else, ...
- [iOS微博项目 - 2.0] - OAuth授权3步
A.概念 OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用 ...
- 转载 SQL Server中索引管理之六大铁律
转载原地址 http://jingyan.baidu.com/article/48a42057c03bd7a924250429.html 索引是以表列为基础的数据库对象.索引中保存着表中排序的索引列, ...
- POJ 2828 Buy Tickets (线段树 or 树状数组+二分)
题目链接:http://poj.org/problem?id=2828 题意就是给你n个人,然后每个人按顺序插队,问你最终的顺序是怎么样的. 反过来做就很容易了,从最后一个人开始推,最后一个人位置很容 ...