Android使用j4lChartAndroid插件绘制3D饼图
2015-06-25 09:50
423 查看
图表是常见的直观表示数据的途径,目前在android手机上绘制图表基本有两种方法:一是利用java的canvas自己绘制,这种方法自己可操作性强,可以随心所欲地绘制,但是缺点就是工作量大;二是利用第三方插件。本文将给大家介绍一下利用第三方插件j4lChartAndroid如何绘制一个3D饼图。效果如图:
提供j4lChartAndroid.jar文件 点击打开链接 也可以下载文章最后的demo,里面也有这个插件。
奉上主体绘制图表的函数
使用这个函数,除了准备数据等初值之外,还需声明一个chartpanel,用chartpanel的setchart方法将该函数返回的chart传进去,再将这个chartpanel添加到linearlayout中显示。最后注意,在页面销毁时要chartpanel.getChart().stopUpdater(),如果需要刷新饼图,首先要先清除掉linearlayout中的view,再重新添加
最后奉上自己的demo ,如有不足之处,还望大家指出!点击打开链接
提供j4lChartAndroid.jar文件 点击打开链接 也可以下载文章最后的demo,里面也有这个插件。
奉上主体绘制图表的函数
public static Chart TheChart() { //new出来一个图饼的对象, 参数简介1.所占的比例 2.颜色 3.是否分组(是否种其他的块是分开的) 4.文字介绍 PieDataSerie pds = new PieDataSerie(values, fillStyleColor, groupValues, null); //设置label的样式 pds.valueFont = GraphicsProvider.getFont("Arial", ChartFont.PLAIN, 20); //设置label到中心的距离 pds.textDistanceToCenter = 1.4; //设置图饼的标题 Title title = new Title("理财账户"); //开始绘图 PiePlotter pp = new PiePlotter(); //设置3D效果为true pp.effect3D = true; //设置边框 pp.border = new LineStyle(1,GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL); //设置label的格式(#PERCENTAGE#,#VALUE#,#LABEL#)什么也不想显示的话直接“ ”里面有一个空格就可以了 pp.labelFormat = "#PERCENTAGE#"; //设置半径 pp.radiusModifier = 1.5; //设置块与块之间的间隔 pp.space = 10; //设置label到块之间的线的样式 pp.labelLine = new LineStyle(1,GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL); //生成一个对象 Legend legend = new Legend(); //因为我这里不需要解说,所以设置它为" ",中间有空格,没有空格的话,会出现多余的文字 legend.legendLabel=""; for (int i = 0; i < values.length; i++) { legend.addItem(lableName[i], new FillStyle(color[i])); } //new一个图表对象,用来存放生成的图饼 com.java4less.rchart.Chart chart = new com.java4less.rchart.Chart(title, pp, null, null); chart.layout = com.java4less.rchart.Chart.LAYOUT_LEGEND_TOP; chart.back = new FillStyle(GraphicsProvider.getColor(ChartColor.WHITE)); chart.topMargin = 0.2; chart.bottomMargin = 0.1; chart.leftMargin =0.1; chart.legend = legend; chart.setHeight(width/3*2); chart.setWidth(height/3*2); chart.addSerie(pds); return chart; }细心的小伙伴会发现,在图例的最上方有个讨厌的水印,去掉它很简单,在代码
legend.legendLabel="";需要在引号中加个空格,否则无论赋什么值都会有这个水印
使用这个函数,除了准备数据等初值之外,还需声明一个chartpanel,用chartpanel的setchart方法将该函数返回的chart传进去,再将这个chartpanel添加到linearlayout中显示。最后注意,在页面销毁时要chartpanel.getChart().stopUpdater(),如果需要刷新饼图,首先要先清除掉linearlayout中的view,再重新添加
最后奉上自己的demo ,如有不足之处,还望大家指出!点击打开链接
相关文章推荐
- Android五天乐(第三天)ListFragment与ViewPager
- Android开发中完全退出程序的三种方法
- android 5.0以上使用AlertDialog出现未充满屏幕的灰色背景
- 说说Android 两种为自定义组件添加属性的使用方法和区别
- Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
- Android 使用notepad++ 格式化本地Json数据需要的对比安装插件
- Android Blur效果之FastBlur
- android加载大图片
- Android应用程序设置系统时间的方法
- [android] apk 版本升级
- Android Context 上下文 你必须知道的一切
- android 自定义控件 使用declare-styleable进行配置属性(源码角度)
- Android SQLite数据库使用
- 安卓(Android)x86 4.4虚拟机怎么安装?想知道的朋友就和小编一起来看看安卓(Android)x86 4.4虚拟机安装配置详细图文教程吧
- android 使用git打补丁
- MVP in Android
- android系统通知栏提示消息
- Android LayoutInflater深度解析 给你带来全新的认识
- Android 属性动画(Property Animation) 完全解析 (下)
- Android 属性动画(Property Animation) 完全解析 (上)