android-用achartengine画饼形图

效果图:

code下载地址:

http://download.csdn.net/detail/miaoyunzexiaobao/8386183

步骤:

1.引入achartengine包

2.写绘图函数:本函数第一个参数为布局变量(饼形图放置的位置),第二个参数为double型数组(控制饼形图中各比例)

	public void DrawPie(LinearLayout layout, double[] value) {
		int[] COLORS = new int[] { Color.GREEN, Color.BLUE, Color.BLACK,
				Color.MAGENTA, Color.CYAN };
		CategorySeries mSeries = new CategorySeries("");
		DefaultRenderer mRenderer = new DefaultRenderer();
		GraphicalView mChartView;
		mChartView = ChartFactory.getPieChartView(this, mSeries, mRenderer);
		layout.addView(mChartView, new LayoutParams(LayoutParams.MATCH_PARENT,
				LayoutParams.MATCH_PARENT));
		mRenderer.removeAllRenderers();
		mSeries.clear();
		for (double v : value) {
			mSeries.add("Series " + (mSeries.getItemCount() + 1), v);
			SimpleSeriesRenderer renderer = new SimpleSeriesRenderer();
			renderer.setColor(COLORS[(mSeries.getItemCount() - 1)
					% COLORS.length]);
			mRenderer.addSeriesRenderer(renderer);
		}
		mChartView.repaint();
	}

3.在MainActivity中的onCreate中添加:

double[] value = { 10.00, 20.00, 30.00, 40.00, 50.00 };
DrawPie((LinearLayout) findViewById(R.id.chart), value);

DrawPie函数详解:

程序在onCreat函数中调用DrawPie函数在Activity中绘制出饼形图。

变量:

CategorySeries mSeries:数据集

DefaultRenderer mRenderer:图表设置集

GraphicalView mChartView:饼形图控件

函数首先将mChartView最大化置于传入的linearLayout中,然后重置mRenderer和mSeries。

接着用for遍历传入的values。对每个value,执行以下动作:

1.向mSeries中add标题和值

2.在mRenserer中addSeriesRenserer

最后重绘mChartView

时间: 2024-09-20 10:42:27

android-用achartengine画饼形图的相关文章

Android通过achartengine画折线图

因为前段时间Android项目中用到了折线图的功能,在查资料的过程中发现achartengine这个包有非常强大的画图功能,正好最近有时间,就整理一下方便以后查看. 首先要使用画图功能,就必须在lib中引入achartengine包.为了使用方便,直接使用示例中的两个文件,源码如下: IDemoChart.java import android.content.Context; import android.content.Intent; /** * Defines the demo chart

Android 用achartengine 画折线图怎么显示不正确

============问题描述============ X.Y的刻度值都是我自己定义的 显示的点的位置不正确 请问是什么原因 怎么处理  还有我设置了显示网格 为什么不显示了 Y轴不设置自己的定义的刻度值 但是刻度个数又不对 这种情况显示是正确的就是刻度个数不够 ============解决方案1============ 属性设置不对,找个demo仔细看看设置,看自己哪里设置不对. ============解决方案2============ 我以前整理的一个曲线图,我共享下,你下载看看,里面东

achartengine画出动态折线图

achartengine画出动态折线图的效果最近有个项目需要用到实时曲线图,我也上网搜索了一下,最后还是选择使用achartengine这个现成的东西,毕竟自己再canvas一下实在是太麻烦,而且项目时间上也不允许,虽然这个画图引擎比较简单,不过勉强够用了. 下一步问题就来了,我仓促上手,只会画静态图,就是事先定义好几个坐标,然后activity载入的时候折线就已经画好了,可是我的项目要求我每隔一秒种都要把新搜集到的数据添加到图表中去,类似于windows中那个任务管理器里的性能统计图,网上搜来

android 用代码画虚线边框背景

               1.虚线画效果,可以使用Android中的xml来做. 2.直接上代码: <RelativeLayout android:id="@+id/coupon_popup" android:layout_width="320dp" android:layout_height="200dp" android:layout_margin="20dp" android:gravity="cen

Android利用canvas画各种图形

canvas通俗的说就是一张画布,我们可以使用画笔paint,在其上面画任意的图形. 原理: 可以把canvas视为Surface的替身或者接口,图形便是绘制在Surface上的.Canvas封装了所有的绘制调用.通过Canvas, 绘制到Surface上的内容首先存储到一个内存区域(也就是对应的Bitmapz中),该Bitmap最终会呈现到窗口上. 使用: 1.Canvas可以直接new Canvas(): 2.在View中重写OnDraw()方法,里面有一个Canvas,今天讨论的内容. 方

Android OpenGL ES 画球体

最近因为兴趣所向,开始学习OpenGL绘图.本文以"画球体"为点,小结一下最近所学. > 初识OpenGL ES 接触OpenGL是从Android开始的.众所周知,Android View 是线程不安全的,于是只允许在主线程中对View进行操作.然而假如我们需要实现复杂的界面,特别是开发游戏,在主线程中画大量图像,会耗费比较长的时间,使得主线程没能及时响应用户输入,甚至出现ANR.于是Android提供了一个 SurfaceView类,通过双缓冲机制(两块画布?三块画布?),允

android 用代码画虚线边框背景(转)

1.虚线画效果,可以使用Android中的xml来做. 2.直接上代码: <RelativeLayout android:id="@+id/coupon_popup" android:layout_width="320dp" android:layout_height="200dp" android:layout_margin="20dp" android:gravity="center_vertical&qu

Android小应用-----画画板

public class MainActivity extends Activity { private ImageView iv; float startX = 0; float startY = 0; //获得一个可以被bitmap Bitmap bitmap = Bitmap.createBitmap(400, 400,Bitmap.Config.ARGB_8888); //创建画布 Canvas canvas = new Canvas(bitmap); //创建画笔 Paint pain

android开发之画图版

android开发之画图版 一.新的开始,也是新的挑战: 开始学习java,除了刚开始的时候有些难,觉得难有些晕,慢慢接触之后也就挺好的了, 学习了4天的安卓开发,完成了一个小程序,收获还是不小的:有一些java的基础,所以相对的画图板还是比较简单(对于理解代码而言):但是因为android和java有不一样的地方,所以有些地方应该要注意:不管怎么说新鲜的东西,新的起点.頑張って. 二.初识android: android开发,第一个印象就是,测试麻烦:要用虚拟机或者接上手机,第一次测试的时候,

使用AChartEngine画动态曲线图

AChartEngine是一个开源的Android图表库,可以用来画折线图.平滑折线图.饼图.直方图等等.使用简单,功能强大. AChartEngine官网:http://www.achartengine.org/ AChartEngine库文件:http://repository-achartengine.forge.cloudbees.com/snapshot/org/achartengine/achartengine/1.2.0/ 库文件直接导入就可以使用了. 网上介绍AChartEngi