`

android饼状图表

阅读更多

相信图表再很多统计应用都会应用,再这里我想向介绍一个第三方的jar--j4lChartAndroid.jar,再这里基本上平时用到的图表都有,这里我们就只介绍饼状3d图表

 

1xml文件

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

     android:orientation="vertical" android:layout_width="fill_parent"

     android:layout_height="fill_parent">

         <LinearLayout android:id="@+id/course_viewflipper"

              android:background="#FFFFFF" android:layout_width="fill_parent"

              android:layout_height="fill_parent">

         </LinearLayout>

</LinearLayout>

 

2activity

public class ShowImage extends Activity {

     /** Called when the activity is first created. */

     ChartLoader cha = new ChartLoader();

     ChartPanel chartPanel;

     static List<ddd> list;

     static double[] valueList;

     static String[] labellist;// 标签值

     static boolean[] gapsValueList;

     static FillStyle[] fillStyle_color;

     static ChartColor[] color = new ChartColor[] {

              GraphicsProvider.getColor(ChartColor.CYAN),

              GraphicsProvider.getColor(ChartColor.BLUE),

              GraphicsProvider.getColor(ChartColor.GREEN),

              GraphicsProvider.getColor(ChartColor.YELLOW),

              GraphicsProvider.getColor(ChartColor.RED),

              GraphicsProvider.getColor(ChartColor.SKYBLUE),

              GraphicsProvider.getColor(ChartColor.PINK) };

     static int[] labelColor = new int[] { Color.CYAN, Color.BLUE,

              Color.GREEN, Color.YELLOW, Color.RED, Color.parseColor("#00CCFF"), Color.parseColor("#ffc0cb") };

     @Override

     public void onCreate(Bundle icicle) {

         super.onCreate(icicle);

         setContentView(R.layout.main);

         list = getData();

         getValues();

         LinearLayout imageview = (LinearLayout) findViewById(R.id.course_viewflipper);

         chartPanel = new ChartPanel(this);

         chartPanel.setChart(Example4());

         imageview.addView(chartPanel);

         setContentView(chartPanel);

     }

 

     public List<ddd> getData() {

         List<ddd> l = new ArrayList<ddd>();

         ddd d1 = new ddd();

         d1.setDoor("南门");

         d1.setTotal(100);

         ddd d2 = new ddd();

         d2.setDoor("西门");

         d2.setTotal(200);

         ddd d3 = new ddd();

         d3.setDoor("北门");

         d3.setTotal(300);

         ddd d4 = new ddd();

         d4.setDoor("东门");

         d4.setTotal(400);

         l.add(d1);

         l.add(d2);

         l.add(d3);

         l.add(d4);

return l;

     }

 

     class ddd {

         String door;

         double total;

         public String getDoor() {

              return door;

         }

         public void setDoor(String door) {

              this.door = door;

         }

         public double getTotal() {

              return total;

         }

         public void setTotal(double total) {

              this.total = total;

         }

     }

 

     public void getValues(){

          valueList= new double[list.size()];// 数值组

          gapsValueList =new boolean[list.size()];// 饼块之间是否分开组

          fillStyle_color= new FillStyle[list.size()];// 颜色组

          labellist= new String[list.size()];// // 图解label

        

          for (int i = 0; i < list.size(); i++) {

               labellist[i] = list.get(i).getDoor();

               valueList[i] = list.get(i).getTotal();

               fillStyle_color[i] = new FillStyle(color[i]);

               if(i<list.size()-1){

               gapsValueList[i] = true;

               }

              }

     }

     // ==============================================

     protected void onDestroy() {

         if (chartPanel != null)

              if (chartPanel.getChart() != null)

                   chartPanel.getChart().stopUpdater();

         super.onDestroy();

     }

 

     public static Chart Example4() {

         PieDataSerie data1 = new PieDataSerie(valueList, fillStyle_color,

                   gapsValueList, labellist);

         data1.valueFont = GraphicsProvider

                   .getFont("Arial", ChartFont.PLAIN, 14);

         // legend

         Legend l = new Legend();

         l.background = new FillStyle(

                   GraphicsProvider.getColor(ChartColor.WHITE));

         l.border = new LineStyle(1,

                   GraphicsProvider.getColor(ChartColor.BLACK),

                   LineStyle.LINE_NORMAL);

         for (int i = 0; i < list.size(); i++) {

              l.addItem(labellist[i], new FillStyle(color[i]));

         }

         // create title

         Title title = new Title("");

         // plotter

         PiePlotter plot = new PiePlotter();

         // 3D effect

         plot.effect3D = true;

         plot.border = new LineStyle(1,                GraphicsProvider.getColor(ChartColor.BLACK),LineStyle.LINE_NORMAL);

         data1.textDistanceToCenter = 1.3;

         plot.labelFormat = "#PERCENTAGE#";

         // create chart

         Chart chart = new Chart(title, plot, null, null);

         // chart background

         chart.back = new FillStyle(GraphicsProvider.getColor(ChartColor.WHITE));

         // chart.back.gradientType = FillStyle.GRADIENT_VERTICAL;

         // add legend

         chart.legend = l;

         // legend position and layout

         chart.layout = Chart.LAYOUT_LEGEND_RIGHT;

         chart.topMargin = 0.1;

      chart.bottomMargin = 0.4; // 20%

         chart.leftMargin =0.1;

         l.verticalLayout = true;

         // add data

         chart.addSerie(data1);

         chart.setHeight(250);

         chart.setWidth(320);

         return chart;

     }

}

  • 大小: 2.8 KB
分享到:
评论
9 楼 cuixuelei 2013-08-21  
图形中RChart Demo 字样,怎么去掉
8 楼 zxuenet 2012-05-22  
erwin_king 写道
因为这个时收费的,所以会有的demo在上面

谢谢~我知了
7 楼 erwin_king 2012-05-10  
因为这个时收费的,所以会有的demo在上面
6 楼 zxuenet 2012-04-23  
您好,请问你用这个第三方jar,在lable这里有 RChart Demo 怎么去掉呢?
5 楼 hahajing9 2012-04-08  
hualikejava 写道
楼主,在onCreate只能setContentView一次就可以了吧。最后面就不用在设置contentView了。

楼上说的极是
4 楼 android_zhang 2012-02-27  
您好,
可以给我发一份饼状图的使用范例吗?
961132502@qq.com
   谢谢
             2012-2-27
3 楼 tianyasifan 2011-08-30  
楼主,这个插件包在哪里可以下载,可否给个地址
2 楼 tianyasifan 2011-08-30  
正在学习报表,很有用,如果自己实现一个这样的报表系统,难度应该很大吧,性能是关键问题,呵呵
1 楼 hualikejava 2011-08-19  
楼主,在onCreate只能setContentView一次就可以了吧。最后面就不用在设置contentView了。

相关推荐

    android饼状图

    在Android开发中,数据可视化是十分重要的,尤其是对于数据分析和展示。饼状图是一种常见的数据表示方式,...无论是简单的统计分析还是复杂的业务展示,Android饼状图都能发挥重要作用,帮助用户更好地理解和解读数据。

    Android 饼状图分析.zip

    在Android开发中,饼状图是一种常见的数据可视化方式,它能直观地展示各个部分占整体的比例关系。"Android 饼状图分析.zip" 文件包提供了实现饼状图分析的相关资料,包括源码示例和可能的说明文档,用于帮助开发者...

    Android之动态折线、柱状、饼状图的实现

    本教程将探讨如何在Android平台上动态地实现折线图、柱状图和饼状图,这些图表是数据呈现的常见方式,尤其适用于数据分析和展示。 首先,让我们了解这三种图表的基本概念: 1. **折线图**:折线图通过连接一系列...

    android 动态饼状统计图DEMO

    在这个"android 动态饼状统计图DEMO"中,我们将探讨如何在Android应用中创建和实现这种交互式的图表。 1. **饼状图的基本概念** 饼状图是用圆形来表示整体,而每个扇形则代表整体中的一个部分。扇形的大小与该部分...

    Android 分段饼状图.zip

    - Android有许多优秀的第三方图表库,如MPAndroidChart、AChartEngine等,它们提供了丰富的图表类型,包括饼状图,并且支持动态更新。 - 使用这些库可以大大简化代码,只需设置数据和配置选项即可生成饼状图,如...

    android 简单的饼状图实现

    在Android开发中,饼状图是一种常见的数据可视化方式,它能直观地展示各个部分与整体之间的比例关系。本文将详细讲解如何在Android中实现一个简单的饼状图。 首先,我们需要了解饼状图的基本原理。饼状图是由一个...

    Android 图表开源框架HelloCharts 之 柱状图、折线图、饼状图

    在Android开发中,数据可视化是不可或缺的一部分,而HelloCharts是一个流行的开源框架,专门用于创建各种图表,如柱状图、折线图和饼状图。本文将深入探讨如何利用HelloCharts库结合ViewPager和Fragment实现水平页面...

    Android 饼状图和柱状图简单实例

    首先,Android饼状图通常用于显示各部分占总体的比例,而柱状图则适合展示不同类别的数量或者数值差异。AChartEngine是一个流行的开源库,为Android提供了丰富的图表绘制功能,包括饼状图和柱状图。在...

    android 简单饼状图和柱状图完整代码(全注解)

    本项目提供了一份完整的代码示例,适合初学者学习如何在Android应用中实现这两种图表。 首先,我们来讲解饼状图。饼状图是一种用圆形及其扇形来表示各部分占整体比例的数据图形。在Android中,我们可以使用开源库如...

    android 饼状报表

    在Android开发中,饼状报表是一种常见的数据可视化方式,它能直观地展示各项数据的比例关系。本示例项目“android 饼状报表”利用了第三方的库来实现具有动画效果和点击放大的功能,使得饼状图更具交互性和吸引力。...

    Android简单绘制饼状图

    在Android开发中,饼状图是一种常见的数据可视化方式,它能直观地展示各个部分占整体的比例关系。在本教程中,我们将深入探讨如何在Android应用中实现一个简单的饼状图。 首先,我们要了解饼状图的基本概念。饼状图...

    android 图表

    总结,Android开发中实现柱状图、曲线图和饼状图并不复杂,借助像`ACHARTENGINE`这样的第三方库,可以快速地在应用中集成这些图表功能。通过学习和实践,开发者能够创建出各种定制化的图表,以满足各种数据分析和...

    安卓图表报表相关-Android之玩转MPAndroidChart折线图柱形图饼状图散列图雷达图优雅的舞动Androidstudio版.zip

    Android之玩转MPAndroidChart(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动(Androidstudio版).zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    饼状图:AChartengineDemoAndroid源码

    AChartEngine是一个开源的图表库,为Android开发者提供了创建各种图表的能力,包括饼状图。下面我们将深入探讨AChartengineDemo项目,了解如何在Android应用中实现饼状图。 **AChartEngine库** AChartEngine是一个...

    android 饼状报表图 带打开动画和点击变大

    在Android开发中,饼状报表图是一种常用的可视化数据方式,尤其适用于展示各项比例关系。"android 饼状报表图 带打开动画和点击变大"这个主题着重于两个关键点:动画效果和交互性。 首先,让我们来详细探讨饼状图。...

    Android自定义饼状图、柱状图、双折线图

    一开始是使用第三方的绘图框架Achartengine来绘制,能实现一大部分的图形。...为此小编我只能尝试着自己自定义一些图表类的控件。这里给大家带来可点击的饼状图、可点击以及可滑动的柱状图、双折线图

    Android之动态折线柱状饼状图的实现

    这篇博客“Android之动态折线柱状饼状图的实现”提供了一种实现这些图表的方法。我们将探讨如何在Android中创建这三种图表,并使用源码工具来帮助我们完成这一过程。 首先,我们需要一个库来绘制这些图形。常见的...

    android绘制饼状图

    AChartEngine是一个强大的开源图表库,它提供了多种图表类型,包括线形图、柱状图、饼状图等,使得开发者能够轻松地在Android应用中集成这些图表。 首先,要使用AChartEngine绘制饼状图,我们需要了解其基本概念和...

    android 饼状图

    总结,实现Android饼状图涉及绘制、动画、交互等多个方面。通过自定义View或使用第三方库,开发者可以创建功能丰富的饼状图,有效地展示数据并提供良好的用户交互。同时,注意性能优化,确保应用运行流畅。

Global site tag (gtag.js) - Google Analytics