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);
程序在onCreat函数中调用DrawPie函数在Activity中绘制出饼形图。
变量:
CategorySeries mSeries:数据集
DefaultRenderer mRenderer:图表设置集
GraphicalView mChartView:饼形图控件
函数首先将mChartView最大化置于传入的linearLayout中,然后重置mRenderer和mSeries。
接着用for遍历传入的values。对每个value,执行以下动作:
1.向mSeries中add标题和值
2.在mRenserer中addSeriesRenserer
最后重绘mChartView
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。