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

本文介绍了如何使用AChartEngine库在Android中创建动态饼图。通过设置DefaultRenderer、构建CategorySeries、获取饼图以及设定定时器任务,实现数据的动态更新。文章提供了完整的步骤和示例代码,并分享了项目的下载链接。
摘要由CSDN通过智能技术生成

AChartEngine应用之PieChart(动态饼图)

接着上一次写的内容,构建动态饼图,并产生与用户交互,官方的API并没有提供可以借鉴的动态更新饼图的方法,考虑到数据都是活动的,不可能总是用静态数据,所以我下面的demo就是模拟动态数据用饼图显示,过程看起来笨拙一点,但是肯定可以使用的,具体是通过定时器+Handler实现定时任务,通过Handler更新主线程UI,在更新之前要把之前的数据清除掉,否则那些数据都会被加载,最后重新绘制饼图,

构建动态饼图的步骤主要分为以下四步,还需要在项目中引入AChartEngine依赖jar包,在Manifest中添加:<activityandroid:name="org.achartengine.GraphicalActivity" />

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(),

                 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值