折线图:

Android 统计图表引擎 AChartEngine(三) - 示例源码折线图、饼图和柱状图_第1张图片

[java] view plain copy
  1. packageorg.achartengine.chartdemo.demo.chart;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. importorg.achartengine.ChartFactory;
  5. importorg.achartengine.chart.PointStyle;
  6. importorg.achartengine.renderer.XYMultipleSeriesRenderer;
  7. importorg.achartengine.renderer.XYSeriesRenderer;
  8. importandroid.content.Context;
  9. importandroid.content.Intent;
  10. importandroid.graphics.Color;
  11. importandroid.graphics.Paint.Align;
  12. publicclassAverageTemperatureChartextendsAbstractDemoChart{
  13. publicStringgetName(){
  14. return"Averagetemperature";
  15. }
  16. publicStringgetDesc(){
  17. return"Theaveragetemperaturein4Greekislands(linechart)";
  18. }
  19. publicIntentexecute(Contextcontext){
  20. String[]titles=newString[]{"Crete","Corfu","Thassos","Skiathos"};//图例
  21. List<double[]>x=newArrayList<double[]>();
  22. for(inti=0;i<titles.length;i++){
  23. x.add(newdouble[]{1,2,3,4,5,6,7,8,9,10,11,12});//每个序列中点的X坐标
  24. }
  25. List<double[]>values=newArrayList<double[]>();
  26. values.add(newdouble[]{12.3,12.5,13.8,16.8,20.4,24.4,26.4,26.1,23.6,20.3,17.2,
  27. 13.9});//序列1中点的y坐标
  28. values.add(newdouble[]{10,10,12,15,20,24,26,26,23,18,14,11});//序列2中点的Y坐标
  29. values.add(newdouble[]{5,5.3,8,12,17,22,24.2,24,19,15,9,6});//序列3中点的Y坐标
  30. values.add(newdouble[]{9,10,11,15,19,23,26,25,22,18,13,10});//序列4中点的Y坐标
  31. int[]colors=newint[]{Color.BLUE,Color.GREEN,Color.CYAN,Color.YELLOW};//每个序列的颜色设置
  32. PointStyle[]styles=newPointStyle[]{PointStyle.CIRCLE,PointStyle.DIAMOND,
  33. PointStyle.TRIANGLE,PointStyle.SQUARE};//每个序列中点的形状设置
  34. XYMultipleSeriesRendererrenderer=buildRenderer(colors,styles);//调用AbstractDemoChart中的方法设置renderer.
  35. intlength=renderer.getSeriesRendererCount();
  36. for(inti=0;i<length;i++){
  37. ((XYSeriesRenderer)renderer.getSeriesRendererAt(i)).setFillPoints(true);//设置图上的点为实心
  38. }
  39. setChartSettings(renderer,"Averagetemperature","Month","Temperature",0.5,12.5,-10,40,
  40. Color.LTGRAY,Color.LTGRAY);//调用AbstractDemoChart中的方法设置图表的renderer属性.
  41. renderer.setXLabels(12);//设置x轴显示12个点,根据setChartSettings的最大值和最小值自动计算点的间隔
  42. renderer.setYLabels(10);//设置y轴显示10个点,根据setChartSettings的最大值和最小值自动计算点的间隔
  43. renderer.setShowGrid(true);//是否显示网格
  44. renderer.setXLabelsAlign(Align.RIGHT);//刻度线与刻度标注之间的相对位置关系
  45. renderer.setYLabelsAlign(Align.CENTER);//刻度线与刻度标注之间的相对位置关系
  46. renderer.setZoomButtonsVisible(true);//是否显示放大缩小按钮
  47. renderer.setPanLimits(newdouble[]{-10,20,-10,40});//设置拖动时X轴Y轴允许的最大值最小值.
  48. renderer.setZoomLimits(newdouble[]{-10,20,-10,40});//设置放大缩小时X轴Y轴允许的最大最小值.
  49. Intentintent=ChartFactory.getLineChartIntent(context,buildDataset(titles,x,values),
  50. renderer,"Averagetemperature111");//构建Intent
  51. returnintent;
  52. }
  53. }


饼图:

Android 统计图表引擎 AChartEngine(三) - 示例源码折线图、饼图和柱状图_第2张图片

[java] view plain copy
  1. packageorg.achartengine.chartdemo.demo.chart;
  2. importorg.achartengine.ChartFactory;
  3. importorg.achartengine.renderer.DefaultRenderer;
  4. importandroid.content.Context;
  5. importandroid.content.Intent;
  6. importandroid.graphics.Color;
  7. publicclassBudgetPieChartextendsAbstractDemoChart{
  8. publicStringgetName(){
  9. return"Budgetchart";
  10. }
  11. publicStringgetDesc(){
  12. return"Thebudgetperprojectforthisyear(piechart)";
  13. }
  14. publicIntentexecute(Contextcontext){
  15. double[]values=newdouble[]{12,14,11,10,19};//饼图分层5块,每块代表的数值
  16. int[]colors=newint[]{Color.BLUE,Color.GREEN,Color.MAGENTA,Color.YELLOW,Color.CYAN};//每块饼图的颜色
  17. DefaultRendererrenderer=buildCategoryRenderer(colors);
  18. renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮
  19. renderer.setZoomEnabled(true);//设置允许放大缩小.
  20. renderer.setChartTitleTextSize(20);//设置图表标题的文字大小
  21. returnChartFactory.getPieChartIntent(context,buildCategoryDataset("Projectbudget",values),
  22. renderer,"Budget");//构建Intent,buildCategoryDataset是调用AbstraDemoChart的构建方法.
  23. }
  24. }

柱状图:

Android 统计图表引擎 AChartEngine(三) - 示例源码折线图、饼图和柱状图_第3张图片

[java] view plain copy
  1. packageorg.achartengine.chartdemo.demo.chart;
  2. importjava.util.ArrayList;
  3. importjava.util.List;
  4. importorg.achartengine.ChartFactory;
  5. importorg.achartengine.chart.BarChart.Type;
  6. importorg.achartengine.renderer.XYMultipleSeriesRenderer;
  7. importandroid.content.Context;
  8. importandroid.content.Intent;
  9. importandroid.graphics.Color;
  10. importandroid.graphics.Paint.Align;
  11. publicclassSalesStackedBarChartextendsAbstractDemoChart{
  12. publicStringgetName(){
  13. return"Salesstackedbarchart";
  14. }
  15. publicStringgetDesc(){
  16. return"Themonthlysalesforthelast2years(stackedbarchart)";
  17. }
  18. publicIntentexecute(Contextcontext){
  19. String[]titles=newString[]{"2008","2007"};//图例
  20. List<double[]>values=newArrayList<double[]>();
  21. values.add(newdouble[]{14230,12300,14240,15244,15900,19200,22030,21200,19500,15500,
  22. 12600,14000});//第一种柱子的数值
  23. values.add(newdouble[]{5230,7300,9240,10540,7900,9200,12030,11200,9500,10500,
  24. 11600,13500});//第二中柱子的数值
  25. int[]colors=newint[]{Color.BLUE,Color.CYAN};//两种柱子的颜色
  26. XYMultipleSeriesRendererrenderer=buildBarRenderer(colors);//调用AbstractDemoChart中的方法构建renderer.
  27. setChartSettings(renderer,"Monthlysalesinthelast2years","Month","Unitssold",0.5,
  28. 12.5,0,24000,Color.GRAY,Color.LTGRAY);//调用AbstractDemoChart中的方法设置renderer的一些属性.
  29. renderer.getSeriesRendererAt(0).setDisplayChartValues(true);//设置柱子上是否显示数量值
  30. renderer.getSeriesRendererAt(1).setDisplayChartValues(true);//设置柱子上是否显示数量值
  31. renderer.setXLabels(12);//X轴的近似坐标数
  32. renderer.setYLabels(5);//Y轴的近似坐标数
  33. renderer.setXLabelsAlign(Align.LEFT);//刻度线与X轴坐标文字左侧对齐
  34. renderer.setYLabelsAlign(Align.LEFT);//Y轴与Y轴坐标文字左对齐
  35. renderer.setPanEnabled(true,false);//允许左右拖动,但不允许上下拖动.
  36. //renderer.setZoomEnabled(false);
  37. renderer.setZoomRate(1.1f);//放大的倍率
  38. renderer.setBarSpacing(0.5f);//柱子间宽度
  39. returnChartFactory.getBarChartIntent(context,buildBarDataset(titles,values),renderer,
  40. Type.STACKED);//构建Intent,buildBarDataset是调用AbstractDemochart中的方法.
  41. }
  42. }

更多相关文章

  1. Android 对象序列化之你不知道的 Serializable
  2. Android 对象序列化之 Parcelable 取代 Serializable ?
  3. android中点击事件的4种写法
  4. Android 对象序列化之追求完美的 Serial
  5. 契约类相关的序列化与反序列化实例详解
  6. 属性值反序列化失败怎么解决?
  7. C#中序列化的使用总结
  8. C#实现Json序列化删除null值的方法实例
  9. C#使用Newtonsoft的Json.NET进行对象的序列化与反序列化

随机推荐

  1. android 文件管理工具类
  2. Android(安卓)SQLite数据库
  3. Android(安卓)之NavigationView&Toolbar&
  4. Android(安卓)P中如何自定义一个系统Serv
  5. 【Android】transformClassesWithAndroid
  6. NotificationCompat.Builder deprecated
  7. Android(安卓)- AutoCompleteTextView
  8. Android摇一摇
  9. android的文件操作
  10. [Android(安卓)Pro] android 杀死进程的