应用achartengine包画数据统计图之二————画PieChart(饼图)

本文继续上文(http://www.cnblogs.com/water-drop/archive/2012/11/01/2750379.html)的思路,画另一种常用图形——饼图(PieChart)


画PieChart与TimeChart的不同之处在于:

1.PieChart使用的数据集CategorySeries,而TimeChart使用的是XYMultipleSeriesDataset;

2.PieChart使用的图表设置集(render)DefaultRenderer,而TimeChart使用的是XYMultipleSeriesRenderer.

针对以上两点,有下面两段代码

1.PieChart构造数据集代码

values[]数组中储存了每部分饼图的数据,最终每部分占总数的百分比决定了饼图的最终形状。

复制代码
1 protected CategorySeries buildCategoryDataset(String title, double[] values) {
2             CategorySeries series = new CategorySeries(title);
3             series.add("差", values[0]);
4             series.add("不达标", values[1]);
5             series.add("达标", values[2]);
6             return series;
7           }
复制代码

2.PieChart的图表设置代码

复制代码
 1 protected DefaultRenderer buildCategoryRenderer(int[] colors) {
 2             DefaultRenderer renderer = new DefaultRenderer();
 3             renderer.setLabelsTextSize(15);
 4             renderer.setLegendTextSize(15);
 5             renderer.setMargins(new int[] { 20, 30, 15, 0 });
 6             for (int color : colors) {
 7               SimpleSeriesRenderer r = new SimpleSeriesRenderer();
 8               r.setColor(color);
 9               renderer.addSeriesRenderer(r);
10             }
11             return renderer;
12           }
复制代码

3.画饼图代码

复制代码
private GraphicalView mPieChartView;
private LinearLayout layoutpie;
private double[] pievalues;
private DefaultRenderer pierender;

mPieChartView=ChartFactory.getPieChartView(this, buildCategoryDataset("xueyactrl", pievalues), pierender);
layoutpie.removeAllViews();
layoutpie.setBackgroundColor(Color.BLACK);
        layoutpie.addView(mPieChartView, new LayoutParams(LayoutParams.FILL_PARENT,
            LayoutParams.FILL_PARENT));
        
复制代码

下面是截图

以上完成了图形的基本功能,还有很多图形设置可以探索~

最后,在学习使用achartengine包画数据统计图过程中,官网上提供的demo和javadoc帮助非常大!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值