Android图表AChartEngine
很多时候项目中我们需要对一些统计数据进行绘制表格,更多直观查看报表分析结果。基本有以下几种方法:
1:可以进行android api进行draw这样的话,效率比较低
2:使用开源绘表引擎,这样效率比较高.下面就介绍一种。
AChartEngine(简称ACE)是Google的一个开源图表库(for Android)。它功能强大,支持散点图、折线图、饼图、气泡图、柱状图、短棒图、仪表图等多种图表。
该项目地址位于: http://code.google.com/p/achartengine/
你可以选择合适的版本下载,每个版本都有一个jar包、实例源代码和java doc提供下载。当前最新版
使用:
1:新建项目,把jar引入进去
2:在Androidmanifest.xml文件中进行配置文件
因为接下来要考这个Activity进行显示图表
3:下面创建一个AChart接口
public interface AChartAbstract { /** * 获取一个当前类型图标的Intent实例 */ public Intent getIntent(Context context); }
4:创建BarChart.java进行准备数据源和引擎设置
public class BarChart implements AChartAbstract { public Intent getIntent(Context context) { Intent mIntent=ChartFactory.getBarChartIntent(context, getDataSet(), getRenderer(), Type.STACKED, "当月开票金额树状图"); return mIntent; } /** * 构造数据 * @return */ public XYMultipleSeriesDataset getDataSet() { // 构造数据 XYMultipleSeriesDataset barDataset = new XYMultipleSeriesDataset(); CategorySeries barSeries = new CategorySeries("2014年3月"); barSeries.add(865.5969); barSeries.add(2492.6479); barSeries.add(891.0137); barSeries.add(0.0); barSeries.add(691.0568); barDataset.addSeries(barSeries.toXYSeries()); return barDataset; } /** * 构造渲染器 * @return */ public XYMultipleSeriesRenderer getRenderer() { XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); // renderer.setChartTitle("当月开票"); // // 设置标题的字体大小 // renderer.setChartTitleTextSize(16); renderer.setXTitle("事业部"); renderer.setYTitle("单位(万元)"); renderer.setAxesColor(Color.WHITE); renderer.setLabelsColor(Color.WHITE); // 设置X轴的最小数字和最大数字 renderer.setXAxisMin(0.5); renderer.setXAxisMax(5.5); // 设置Y轴的最小数字和最大数字 renderer.setYAxisMin(0); renderer.setYAxisMax(3000); renderer.addXTextLabel(1, "电网"); renderer.addXTextLabel(2, "通信"); renderer.addXTextLabel(3, "宽带"); renderer.addXTextLabel(4, "专网"); renderer.addXTextLabel(5, "轨交"); renderer.setZoomButtonsVisible(true); // 设置渲染器允许放大缩小 renderer.setZoomEnabled(true); // 消除锯齿 renderer.setAntialiasing(true); // 设置背景颜色 renderer.setApplyBackgroundColor(true); renderer.setBackgroundColor(Color.GRAY); // 设置每条柱子的颜色 SimpleSeriesRenderer sr = new SimpleSeriesRenderer(); sr.setColor(Color.YELLOW); renderer.addSeriesRenderer(sr); // 设置每个柱子上是否显示数值 renderer.getSeriesRendererAt(0).setDisplayChartValues(true); // X轴的近似坐标数 (这样不显示横坐标) renderer.setXLabels(0); // Y轴的近似坐标数 renderer.setYLabels(6); // 刻度线与X轴坐标文字左侧对齐 renderer.setXLabelsAlign(Align.LEFT); // Y轴与Y轴坐标文字左对齐 renderer.setYLabelsAlign(Align.LEFT); // 允许左右拖动,但不允许上下拖动. renderer.setPanEnabled(true, false); // 柱子间宽度 renderer.setBarSpacing(0.5f); // 设置X,Y轴单位的字体大小 renderer.setAxisTitleTextSize(20); return renderer; }
5: 最后主函数直接
Intent lineIntent = new BarChart().getIntent(this); startActivity(lineIntent);
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。