zoukankan      html  css  js  c++  java
  • Android制作曲线、柱状图、饼形等图表——使用AChartEngine

      之前在java开发中实现图表使用JFreeChar组件,最近有个小项目要求在Android端进行数据分析,如何实现图表呢?查了一下google提供了一个开源组件Achartengine非常好用,可实现绘制各种图形,完全满足了开发的需要,下面就说说如何使用。

    一、准备工作

    下载jar包

    官网地址:http://code.google.com/p/achartengine/

    网盘地址:http://pan.baidu.com/s/1EYhUe(含API文档,代码)

    二、关键点说明——AchartEngined的使用

    1、ChartFactory组件

      ChartFactory组件提供getXXXX方法可获得不同的图形,例如

    getBarChartView()柱状图

    getPieChartView()饼图

    getLineChartView(Context context ,XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer)//折线图

    getCubeLineChartView() //圆滑曲线图

    2、CategorySeries和DefaultRenderer

      这些方法一般都有三个参数依次为(不同图形还会有增加一些参数)

      Context context,CategorySeries dataset, DefaultRenderer renderer

    Context:表示应用上下文

    CategorySeries:是图表的数据信息,包含构成的元素名称和值AchartEngined就是根据这个数据统计所占百分比的

    DefaultRenderer:设置图片的样式,如设置每个元素的颜色、标题大小、背景颜色等

      如绘制饼图,代码如下:

    //创建CategorySeries 组件
    CategorySeries series=new CategorySeries(“第一季度销售分析”);
    series.add(“一月”,30000);
    series.add(“二月”,40000);
    series.add(“三月”,36000);
    //创建DefaultRenderer组件
    DefaultRenderer renderer = new DefaultRenderer();
    
    renderer.setMargins(new int[] { 20, 30,  0 });//设置图例之间的间接单位为px
    renderer.setLabelsTextSize(15);//设置标签的字体大小
    renderer.setLegendTextSize(15);//设置图例的字体大小
    SimpleSeriesRenderer r1 = new SimpleSeriesRenderer();
    r1.setColor(Color.BLUE);
    renderer.addSeriesRenderer(r1);//设置饼图颜色,一月份
    SimpleSeriesRenderer r2 = new SimpleSeriesRenderer();
    r1.setColor(Color.GREEN);
    renderer.addSeriesRenderer(r2);//设置饼图颜色,二月份
    SimpleSeriesRenderer r3 = new SimpleSeriesRenderer();
    r1.setColor(Color.RED);
    renderer.addSeriesRenderer(r3); //设置饼图颜色,三月份
    //产生饼图
    GraphicalView view=ChartFactory.getPieChartView(context, series, renderer);

    3、GraphicalView

      这些方法返回呈现图表的View——GraphicalView ,使用Layout的addView()方法添加到布局中即可显示,如:

    GraphicalView view=ChartFactory.getPieChartView(context, series, renderer);
    layout.addView(charView);

      绘制其他图形步骤和饼图大同小异,大家可以结合API文档测试一下

    三、实现案例

       该案例包含绘制曲线、柱状图、饼形,进行了在AchartEngined组件基础上化封装,核心代码上述例子已经讲解,这里只提供下载地址

      源码下载地址:http://pan.baidu.com/s/1eQlJJVG 

     

    作者:杰瑞教育
    出处:http://www.cnblogs.com/jerehedu/ 
    本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     
  • 相关阅读:
    转:PHP环境搭建
    证件号码
    3、SourceTree通过PUTTY连接GitLab
    2、gitlab 新建项目
    java基础31 List集合下的Vector集合
    java基础30 List集合下的LinkedList集合
    java基础29 迭代器 listIterator() 及各种遍历集合的方法
    java基础28 单例集合Collection下的List和Set集合
    java基础27 单例集合Collection及其常用方法
    错误/异常:The project cannot be built until build path errors are resolved 和 Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'MyJavaCode';的解决方法
  • 原文地址:https://www.cnblogs.com/jerehedu/p/4443324.html
Copyright © 2011-2022 走看看