很多时候项目中我们需要对一些统计数据进行绘制表格,更多直观查看报表分析结果。基本有以下几种方法: 1:可以进行android api进行draw这样的话,效率比较低 2:使用开源绘表引擎,这样效率比较高.下面就介绍一种。 AChartEngine(简称ACE)是Google的一个开源图表库(for Android)。它功能强大,支持散点图、折线图、饼图、气泡图、柱状图、短棒图、仪表图等多种图表。 该项目地址位于: http://code.google.com/p/achartengine/ 你可以选择合适的版本下载,每个版本都有一个jar包、实例源代码和java doc提供下载。当前最新版本为1.1.0。
很多时候项目中我们需要对一些统计数据进行绘制表格,更多直观查看报表分析结果。基本有以下几种方法:
1:可以进行android api进行draw这样的话,效率比较低
2:使用开源绘表引擎,这样效率比较高.下面就介绍一种。
AChartEngine(简称ACE)是Google的一个开源图表库(for Android)。它功能强大,支持散点图、折线图、饼图、气泡图、柱状图、短棒图、仪表图等多种图表。
你可以选择合适的版本下载,每个版本都有一个jar包、实例源代码和java doc提供下载。当前最新版本为1.1.0。
上面是两幅用该引擎绘制出来的图标例子.
如上图所示:可以有demo源代码,文档和jar包,根据所需进行下载:
下面稍微演示一下生成一个树状图:
1:新建项目,把jar引入进去
2:在Androidmanifest.xml文件中进行配置文件
<activity android:name="org.achartengine.GraphicalActivity" />
因为接下来要考这个Activity进行显示图表
3:下面创建一个AChart接口
1. public interface AChartAbstract {
2.
3. /**
4. * 获取一个当前类型图标的Intent实例
5. */
6. public Intent getIntent(Context context);
7. }
4:创建BarChart.java进行准备数据源和引擎设置
1. public class BarChart implements AChartAbstract {
2.
3. public Intent getIntent(Context context) {
4. "当月开票金额树状图");
5. return mIntent;
6. }
7.
8. /**
9. * 构造数据
10. * @return
11. */
12. public XYMultipleSeriesDataset getDataSet() {
13. // 构造数据
14. new XYMultipleSeriesDataset();
15. new CategorySeries("2014年3月");
16. 865.5969);
17. 2492.6479);
18. 891.0137);
19. 0.0);
20. 691.0568);
21. barDataset.addSeries(barSeries.toXYSeries());
22. return barDataset;
23. }
24.
25. /**
26. * 构造渲染器
27. * @return
28. */
29. public XYMultipleSeriesRenderer getRenderer() {
30. new XYMultipleSeriesRenderer();
31. // renderer.setChartTitle("当月开票");
32. // // 设置标题的字体大小
33. // renderer.setChartTitleTextSize(16);
34. "事业部");
35. "单位(万元)");
36. renderer.setAxesColor(Color.WHITE);
37. renderer.setLabelsColor(Color.WHITE);
38. // 设置X轴的最小数字和最大数字
39. 0.5);
40. 5.5);
41. // 设置Y轴的最小数字和最大数字
42. 0);
43. 3000);
44. 1, "电网");
45. 2, "通信");
46. 3, "宽带");
47. 4, "专网");
48. 5, "轨交");
49. true);
50. // 设置渲染器允许放大缩小
51. true);
52. // 消除锯齿
53. true);
54. // 设置背景颜色
55. true);
56. renderer.setBackgroundColor(Color.GRAY);
57. // 设置每条柱子的颜色
58. new SimpleSeriesRenderer();
59. sr.setColor(Color.YELLOW);
60. renderer.addSeriesRenderer(sr);
61. // 设置每个柱子上是否显示数值
62. 0).setDisplayChartValues(true);
63. // X轴的近似坐标数 (这样不显示横坐标)
64. 0);
65. // Y轴的近似坐标数
66. 6);
67. // 刻度线与X轴坐标文字左侧对齐
68. renderer.setXLabelsAlign(Align.LEFT);
69. // Y轴与Y轴坐标文字左对齐
70. renderer.setYLabelsAlign(Align.LEFT);
71. // 允许左右拖动,但不允许上下拖动.
72. true, false);
73. // 柱子间宽度
74. 0.5f);
75. // 设置X,Y轴单位的字体大小
76. 20);
77. return renderer;
78. }
最后主函数直接
1. Intent lineIntent = new BarChart().getIntent(this);
2. startActivity(lineIntent);
直接启动Androidmanifest.xml已经配置的activity就可以显示树状图了。