首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

AChartEngine当用之PieChart(动态饼图,允许产生动态数据并显示)

2014-01-19 
AChartEngine应用之PieChart(动态饼图,允许产生动态数据并显示)1.设置DefaultRendererDefaultRenderer mRe

AChartEngine应用之PieChart(动态饼图,允许产生动态数据并显示)
1.设置DefaultRenderer

DefaultRenderer mRenderer = new DefaultRenderer();// PieChart的主要描绘器

mRenderer = new DefaultRenderer();// 创建一个描绘器的实例,将被用来创建图表

mRenderer.setZoomButtonsVisible(true);// 显示放大缩小功能按钮

mRenderer.setStartAngle(180);// 设置为水平开始

mRenderer.setDisplayValues(true);// 显示数据

// mRenderer.setFitLegend(false);// 设置是否显示图例

// mRenderer.setLegendTextSize(10);// 设置图例字体大小

// mRenderer.setLegendHeight(10);// 设置图例高度

mRenderer.setShowLegend(false);// 默认是显示的需要关闭,因为动态更新数据的时候,图例更新慢

mRenderer.setChartTitle("饼图示例");// 设置饼图标题

mRenderer.setChartTitleTextSize(14);// 设置饼图标题大小

?

2.构建数据源CategorySeries

for (int i = 0; i < data.length; i++)

VALUE += data[i];

for (int i = 0; i < data.length; i++) {

mSeries.add("示例 " + (i + 1), data[i] / VALUE);// 设置种类名称和对应的数值,前面是(key,value)键值对

SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();

if (i < COLORS.length) {

renderer.setColor(COLORS[i]);// 设置描绘器的颜色

} else {

renderer.setColor(getRandomColor());// 设置描绘器的颜色

}

renderer.setChartValuesFormat(NumberFormat.getPercentInstance());// 设置百分比

mRenderer.setChartTitleTextSize(14);// 设置饼图标题大小

mRenderer.addSeriesRenderer(renderer);// 将最新的描绘器添加到DefaultRenderer中

}

?

3.通过ChartFactory获取饼图

mChartView = ChartFactory.getPieChartView(getApplicationContext(),

mSeries, mRenderer);// 构建mChartView

mRenderer.setClickEnabled(true);// 允许点击事件

mChartView.setOnClickListener(new View.OnClickListener() {// 具体内容

}

4.构建定时器任务

handler = new Handler() {// 这里的Handler实例将配合下面的Timer实例,完成定时更新图表的功能

@Override

public void handleMessage(Message msg) {

if (msg.what == 1) {

updateChart();// 刷新图表具体方法 Handler将此并入主线程

}

super.handleMessage(msg);

}

};

task = new TimerTask() {

@Override

public void run() {//通过消息更新

Log.i("task", " task ok ");

Message message = new Message();

message.what = 1;//消息定义标志

handler.sendMessage(message);

}

};

timer.schedule(task, 500, 1000 * 10);//执行任务

?

效果图:

AChartEngine当用之PieChart(动态饼图,允许产生动态数据并显示)

AChartEngine当用之PieChart(动态饼图,允许产生动态数据并显示)

code:

?

?

如果有哪位朋友想到更合适的方法,可以一起研究研究。。。。

完整项目:http://download.csdn.net/detail/qiu_11/18370487

?

未完待续。。。。

?

AChartEngine应用系列文章

?

?

?

?

(一)AChartEngine简介

(二)AChartEngine应用之PieChart(饼图)

(三)AChartEngine应用之BarChart(柱形图)

(四)AChartEngine应用之PieChart(动态饼图,允许产生动态数据并显示)

(五)AChartEngine应用之LineChart(模拟生命特征值图)

?



热点排行