本文实例讲述了Android开发中使用achartengine绘制各种图表的方法。分享给大家供大家参考,具体如下:
1. ABarChart.java
package com.anjoyo.achartengine;
import java.util.Random;
import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.model.CategorySeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
public class ABarChart {
public Intent execute(Context context) {
return ChartFactory.getBarChartIntent(context, getBarChartDataset(), getBarChartRenderer(), Type.DEFAULT);
}
private XYMultipleSeriesRenderer getBarChartRenderer() {
// TODO Auto-generated method stub
XYMultipleSeriesRenderer renderer=new XYMultipleSeriesRenderer();
SimpleSeriesRenderer r;
r=new SimpleSeriesRenderer();
r.setColor(Color.BLUE);
renderer.addSeriesRenderer(r);
r=new SimpleSeriesRenderer();
r.setColor(Color.GREEN);
renderer.addSeriesRenderer(r);
setBarChartRenderer(renderer);
return renderer;
}
private void setBarChartRenderer(XYMultipleSeriesRenderer renderer) {
// TODO Auto-generated method stub
renderer.setChartTitle("Bar Chart");
renderer.setXTitle("X Axis");
renderer.setYTitle("Y Axis");
renderer.setXAxisMax(10.5);
renderer.setXAxisMin(0.5);
renderer.setYAxisMax(210);
renderer.setYAxisMin(0);
}
private XYMultipleSeriesDataset getBarChartDataset() {
// TODO Auto-generated method stub
XYMultipleSeriesDataset dataset=new XYMultipleSeriesDataset();
final int SERIES_NR=2;
final int NR=10;
Random random=new Random();
for (int i = 0; i < SERIES_NR; i++) {
CategorySeries series=new CategorySeries("Bar Chart---"+(i+1));
for (int j = 0; j < NR; j++) {
series.add(100+random.nextInt(100));
}
dataset.addSeries(series.toXYSeries());
}
return dataset;
}
}
2. ABubbleChart.java
package com.anjoyo.achartengine;
import java.util.Random;
import org.achartengine.ChartFactory;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYValueSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
public class ABubbleChart {
private final int SERIES_NR = 3;
private final int NR = 20;
public Intent execute(Context context) {
return ChartFactory.getBubbleChartIntent(context,
getBubbleChartDataset(), getBubbleChartRenderer(),
"Bubble Chart Demo");
}
private XYMultipleSeriesRenderer getBubbleChartRenderer() {
// TODO Auto-generated method stub
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
int[] linearColor = { Color.RED, Color.GREEN, Color.BLUE };
XYSeriesRenderer r;
for (int i = 0; i < SERIES_NR; i++) {
// entry=new XYEntry(key, value);
r = new XYSeriesRenderer();
r.setColor(linearColor[i]);
r.setPointStyle(PointStyle.POINT);
r.setLineWidth(2);
renderer.addSeriesRenderer(r);
}
setBarChartRenderer(renderer);
return renderer;
}
private XYMultipleSeriesDataset getBubbleChartDataset() {
// TODO Auto-generated method stub
XYMultipl