今天在做项目的时候用到了图表功能,记录下来
achartengine是google的一个开源项目,可以在https://code.google.com/p/achartengine/下载技术文档,jar包以及项目源代码
demo下载:https://code.google.com/p/achartengine/downloads/list
一、饼状图
新建工程,添加achartengine jar包
PieChart.java
package com.meritit.footlottery.view;
import org.achartengine.ChartFactory;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
public class PieChart {
public View execute(Context context) {
int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE };
DefaultRenderer renderer = buildCategoryRenderer(colors);
CategorySeries categorySeries = new CategorySeries("Vehicles Chart");
categorySeries.add("胜 ", 30);
categorySeries.add("负", 20);
categorySeries.add("平", 60);
return ChartFactory
.getPieChartView(context, categorySeries, renderer);
}
protected DefaultRenderer buildCategoryRenderer(int[] colors) {
DefaultRenderer renderer = new DefaultRenderer();
for (int color : colors) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(color);
renderer.addSeriesRenderer(r);
}
//显示标签
renderer.setShowLabels(true);
//不显示底部说明
renderer.setShowLegend(false);
//设置标签字体大小
renderer.setLabelsTextSize(15);
renderer.setLabelsColor(Color.BLACK);
renderer.setZoomEnabled(false);
renderer.setPanEnabled(false);
return renderer;
}
}
使用方法
//View pieChart = new PieChart().execute(this);
//chartArea.addView(pieChart);
获得一个View对象,在需要添加的布局下面直接addView
二、柱状图
package com.meritit.footlottery.view;
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.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import com.meritit.footlottery.R;
import android.content.Context;
import android.graphics.Color;
import android.view.View;
public class BarChart {
private Context context;
public View execute(Context context) {
this.context = context;
return ChartFactory
.getBarChartView(context, getBarDemoDataset(), getBarDemoRenderer(), Type.DEFAULT);
}
/**
* XYMultipleSeriesDataset 类型的对象,用于提供图表需要表示的数据集,
* 这里我们用 getBarDemoDataset 来得到它。
*/
private XYMultipleSeriesDataset getBarDemoDataset() {
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
final int nr = 10;
Random r = new Random();
for (int i = 0; i < 3; i++) {
CategorySeries series = new CategorySeries("球队 " + (i + 1));
for (int k = 0; k < nr; k++) {
series.add(100 + r.nextInt() % 100);
}
dataset.addSeries(series.toXYSeries());
}
return dataset;
}
/**
* XYMultipleSeriesRenderer 类型的对象,用于提供图表展现时的一些样式,
* 这里我们用 getBarDemoRenderer 方法来得到它。
* getBarDemoRenderer 方法构建了一个 XYMultipleSeriesRenderer 用来设置2个系列各自的颜色
*/
public XYMultipleSeriesRenderer getBarDemoRenderer() {
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(Color.BLUE);
renderer.addSeriesRenderer(r);
r = new SimpleSeriesRenderer();
r.setColor(Color.GREEN);
renderer.addSeriesRenderer(r);
r = new SimpleSeriesRenderer();
r.setColor(Color.RED);
renderer.addSeriesRenderer(r);
renderer.setApplyBackgroundColor(true);
renderer.setBackgroundColor(Color.TRANSPARENT);
renderer.setMarginsColor(context.getResources().getColor(R.color.main_background_color));
renderer.setZoomEnabled(false, false);
renderer.setPanEnabled(false, false);
renderer.setLabelsTextSize(15);
renderer.setLabelsColor(Color.BLACK);
setChartSettings(renderer);
return renderer;
}
/**
* setChartSettings 方法设置了下坐标轴样式。
*/
private void setChartSettings(XYMultipleSeriesRenderer renderer) {
renderer.setChartTitle("战绩分析");
renderer.setXTitle("横坐标");
renderer.setYTitle("纵坐标");
renderer.setXAxisMin(0.5);
renderer.setXAxisMax(10.5);
renderer.setYAxisMin(0);
renderer.setYAxisMax(210);
}
}
上面代码部分解释:
renderer.setApplyBackgroundColor(true); //设置背景使能,为true下面的设置背景才有效
renderer.setBackgroundColor(Color.TRANSPARENT); //设置背景
renderer.setMarginsColor() //设置周围区域颜色
renderer.setZoomEnabled(false, false); //设置是否能放大
renderer.setPanEnabled(false, false); //设置是否可以移动
renderer.setLabelsTextSize(15); //设置标签文字大小
renderer.setLabelsColor(Color.BLACK);;
分享到:
相关推荐
主要介绍了Android中使用achartengine生成图表的具体方法,有需要的朋友可以参考一下
主要介绍了Android开发中使用achartengine绘制各种图表的方法,结合具体实例形式分析了Android基于图表生成类库achartengine进行图表绘制的具体步骤与相关操作技巧,需要的朋友可以参考下
achartengine 生成柱状图demo
AChartEngine是为Android应用而设计的绘图...AChartEngine和JFreeChart都是采用Java编写的开放图表制作类库,前者是应用在android上,后者也能主要应用在JAVA SE 或者 JAVA EE上。AChartEngine是谷歌开发的开源项目。
AChartEngine是一个针对Android程序开发的开源图表生成类库。支持以下几种图表类型: 折线图 区域图 散点图 time chart 柱状图 饼状图 bubble chart doughnut chart
AChartEngine是一个针对Android程序开发的开源图表生成类库。支持以下几种图表类型:折线图 区域图 点图 柱状图 饼状图....
AChartEngine是为Android应用而设计的绘图...AChartEngine和JFreeChart都是采用Java编写的开放图表制作类库,前者是应用在android上,后者也能主要应用在JAVA SE 或者 JAVA EE上。AChartEngine是谷歌开发的开源项目。
资源合并了数据库的生成与操作,数据的读取。...利用achartengine,设置图表的不同风格,如使图表透明,添加背景,而不像achartengine自带的实例一片黑,达到了美化折线图的效果。目标平台为android2.2
AChartEngine是一个针对Android程序开发的开源图表生成类库。支持以下几种图表类型: 折线图 区域图 散点图 time chart 柱状图 饼状图 bubble chart doughnut chart
android报表api,根据achartengine提供的网页生成的方便使用的chm格式的api
折线图/饼图/柱状图/图表控件AChartEngine #样例锦集 共通界面-引导界面 共通界面-意见反馈 共通界面-本地/服务器WEB页加载界面(带进度显示+获取网页标题+分享) 共通机能-版本检测升级 共通机能-消息推送 共通机能...