Android使用统计图AChartEngine 回展示数据

Android使用统计图AChartEngine 来展示数据本文采用的统计图参考:AChartEngine访问地址 :http://code.goog

Android使用统计图AChartEngine 来展示数据

本文采用的统计图参考:AChartEngine 

 访问地址 :http://code.google.com/p/achartengine/

先给出效果图

Android使用统计图AChartEngine 回展示数据

Android使用统计图AChartEngine 回展示数据

本文的开发代码主要是这些:对一些代码进行修改

Android使用统计图AChartEngine 回展示数据

以下文件是直接使用官方下载后

Android使用统计图AChartEngine 回展示数据

这些主要是对文件【WeightTimeChart.java】做了修改

/** * WeightTimeChart.java * 版权所有(C) 2013  * 创建:cuiran 2013-10-24 下午4:11:28 */package com.cayden.weightnotes.achartengine;import java.util.Date;import java.util.Random;import org.achartengine.ChartFactory;import org.achartengine.chart.PointStyle;import org.achartengine.chart.TimeChart;import org.achartengine.model.TimeSeries;import org.achartengine.model.XYMultipleSeriesDataset;import org.achartengine.renderer.SimpleSeriesRenderer;import org.achartengine.renderer.XYMultipleSeriesRenderer;import org.achartengine.renderer.XYSeriesRenderer;import com.cayden.weightnotes.util.VeDate;import android.content.Context;import android.content.Intent;import android.graphics.Color;/** * TODO 折线图 * @author cuiran * @version 1.0.0 */public class WeightTimeChart extends AbstractDemoChart {private static final int SERIES_NR = 1;/* (non-Javadoc) * @see com.cayden.weightnotes.achartengine.IDemoChart#getName() */@Overridepublic String getName() {// TODO Auto-generated method stubreturn "WeightTimeChart";}/* (non-Javadoc) * @see com.cayden.weightnotes.achartengine.IDemoChart#getDesc() */@Overridepublic String getDesc() {// TODO Auto-generated method stubreturn "WeightTimeChart";} private XYMultipleSeriesDataset getDateDemoDataset() {    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();    final int nr = 7;      long value = new Date().getTime() - 3 * TimeChart.DAY;    Random r = new Random();    for (int i = 0; i < SERIES_NR; i++) {      TimeSeries series = new TimeSeries("体重变化趋势 ");            series.add(VeDate.strToDate("2013-10-19"), 85.3);      series.add(VeDate.strToDate("2013-10-20"), 85.6);      series.add(VeDate.strToDate("2013-10-21"), 84.5);      series.add(VeDate.strToDate("2013-10-22"), 85.0);      series.add(VeDate.strToDate("2013-10-23"), 85.1);      series.add(VeDate.strToDate("2013-10-24"), 85.3);      series.add(VeDate.strToDate("2013-10-25"), 85.3);      series.add(VeDate.strToDate("2013-10-26"), 85.3);     //      for (int k = 0; k < nr; k++) {//        series.add(new Date(value + k * TimeChart.DAY / 4), 20 + r.nextInt() % 100);//      }            dataset.addSeries(series);          }    return dataset;  }   private XYMultipleSeriesRenderer getDemoRenderer() {    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();    renderer.setAxisTitleTextSize(19);    renderer.setChartTitleTextSize(23);    renderer.setLabelsTextSize(18);    renderer.setLegendTextSize(18);    renderer.setPointSize(6f);    //in this order: top, left, bottom, right    renderer.setMargins(new int[] {20, 30, 15, 0});            XYSeriesRenderer r = new XYSeriesRenderer();        r = new XYSeriesRenderer();    r.setPointStyle(PointStyle.CIRCLE);    r.setColor(Color.GREEN);    r.setFillPoints(true);        renderer.addSeriesRenderer(r);    renderer.setAxesColor(Color.DKGRAY);    renderer.setLabelsColor(Color.LTGRAY);    renderer.setChartTitle("体重变化趋势");    renderer.setXTitle("日期");    renderer.setYTitle("体重(kg)");    renderer.setZoomButtonsVisible(true);        int length = renderer.getSeriesRendererCount();    for (int i = 0; i < length; i++) {      SimpleSeriesRenderer seriesRenderer = renderer.getSeriesRendererAt(i);      seriesRenderer.setDisplayChartValues(true);    }    return renderer;  }/* (non-Javadoc) * @see com.cayden.weightnotes.achartengine.IDemoChart#execute(android.content.Context) */@Overridepublic Intent execute(Context context) {// TODO Auto-generated method stubreturn ChartFactory.getTimeChartIntent(context, getDateDemoDataset(), getDemoRenderer(), "yyyy-MM-dd");}}

如何调用呢?需要先获取对象参考提供的demo

private IDemoChart[] mCharts = new IDemoChart[] {new WeightDialChart(),new WeightTimeChart()};

 Intent intent=mCharts[1].execute(this);   startActivity(intent);

如果直接这样运行会报错

需要在配置文件中添加代码:

 <activity android:name="org.achartengine.GraphicalActivity" />



 

以上是针对如何使用AChartEngine 进行了大概说明。不要忘记看提供的API,里面有很多方法哦!