欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android中使用achartengine生成圖表的具體方法

 更新時(shí)間:2014年01月03日 15:54:22   作者:  
這篇文章主要介紹了Android中使用achartengine生成圖表的具體方法,有需要的朋友可以參考一下

今天在做項(xiàng)目的時(shí)候用到了圖表功能,記錄下來(lái)

achartengine是google的一個(gè)開源項(xiàng)目,可以在https://code.google.com/p/achartengine/ 下載技術(shù)文檔,jar包以及項(xiàng)目源代碼

demo下載:https://code.google.com/p/achartengine/downloads/list

一、餅狀圖

新建工程,添加achartengine  jar包

PieChart.java

復(fù)制代碼 代碼如下:

package com.meritit.footlottery.view;

import org.achartengine.ChartFactory;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;

import android.content.Context;
import android.graphics.Color;
import android.view.View;

public class PieChart {
 public View execute(Context context) {
  int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE };
  DefaultRenderer renderer = buildCategoryRenderer(colors);
  CategorySeries categorySeries = new CategorySeries("Vehicles Chart");
  categorySeries.add("勝 ", 30);
  categorySeries.add("負(fù)", 20);
  categorySeries.add("平", 60);
  return ChartFactory
    .getPieChartView(context, categorySeries, renderer);
 }

 protected DefaultRenderer buildCategoryRenderer(int[] colors) {
  DefaultRenderer renderer = new DefaultRenderer();
  for (int color : colors) {
   SimpleSeriesRenderer r = new SimpleSeriesRenderer();
   r.setColor(color);
   renderer.addSeriesRenderer(r); 
  }
  //顯示標(biāo)簽
  renderer.setShowLabels(true);
  //不顯示底部說(shuō)明
  renderer.setShowLegend(false);
  //設(shè)置標(biāo)簽字體大小
  renderer.setLabelsTextSize(15);
  renderer.setLabelsColor(Color.BLACK);
  renderer.setZoomEnabled(false);
  renderer.setPanEnabled(false);
  return renderer;
 }
}

使用方法

復(fù)制代碼 代碼如下:

//View pieChart = new PieChart().execute(this);
//chartArea.addView(pieChart);

獲得一個(gè)View對(duì)象,在需要添加的布局下面直接addView

二、柱狀圖

復(fù)制代碼 代碼如下:

package com.meritit.footlottery.view;

import java.util.Random;

import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.model.CategorySeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;

import com.meritit.footlottery.R;

import android.content.Context;
import android.graphics.Color;
import android.view.View;

public class BarChart {
 private Context context;
 public View execute(Context context) {
  this.context = context;
  return ChartFactory
    .getBarChartView(context, getBarDemoDataset(), getBarDemoRenderer(), Type.DEFAULT);
 }

    /**
     * XYMultipleSeriesDataset 類型的對(duì)象,用于提供圖表需要表示的數(shù)據(jù)集,
     * 這里我們用 getBarDemoDataset 來(lái)得到它。
     */ 
    private XYMultipleSeriesDataset getBarDemoDataset() { 
        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 
        final int nr = 10; 
        Random r = new Random(); 
        for (int i = 0; i < 3; i++) { 
            CategorySeries series = new CategorySeries("球隊(duì) " + (i + 1)); 
            for (int k = 0; k < nr; k++) { 
                series.add(100 + r.nextInt() % 100); 
            } 
            dataset.addSeries(series.toXYSeries()); 
        } 
        return dataset; 
    }

    /**
     * XYMultipleSeriesRenderer 類型的對(duì)象,用于提供圖表展現(xiàn)時(shí)的一些樣式,
     * 這里我們用 getBarDemoRenderer 方法來(lái)得到它。
     * getBarDemoRenderer 方法構(gòu)建了一個(gè) XYMultipleSeriesRenderer 用來(lái)設(shè)置2個(gè)系列各自的顏色
     */ 
    public XYMultipleSeriesRenderer getBarDemoRenderer() { 
        XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
        SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
        r.setColor(Color.BLUE); 
        renderer.addSeriesRenderer(r); 
        r = new SimpleSeriesRenderer(); 
        r.setColor(Color.GREEN); 
        renderer.addSeriesRenderer(r);
        r = new SimpleSeriesRenderer(); 
        r.setColor(Color.RED); 
        renderer.addSeriesRenderer(r);
        renderer.setApplyBackgroundColor(true);
        renderer.setBackgroundColor(Color.TRANSPARENT);
        renderer.setMarginsColor(context.getResources().getColor(R.color.main_background_color));
        renderer.setZoomEnabled(false, false);
        renderer.setPanEnabled(false, false);
        renderer.setLabelsTextSize(15);
  renderer.setLabelsColor(Color.BLACK);
        setChartSettings(renderer); 
        return renderer; 
    }

    /**
     * setChartSettings 方法設(shè)置了下坐標(biāo)軸樣式。
     */ 
    private void setChartSettings(XYMultipleSeriesRenderer renderer) { 
        renderer.setChartTitle("戰(zhàn)績(jī)分析"); 
        renderer.setXTitle("橫坐標(biāo)"); 
        renderer.setYTitle("縱坐標(biāo)"); 
        renderer.setXAxisMin(0.5); 
        renderer.setXAxisMax(10.5); 
        renderer.setYAxisMin(0); 
        renderer.setYAxisMax(210); 
    } 
}

上面代碼部分解釋:
renderer.setApplyBackgroundColor(true);  //設(shè)置背景使能,為true下面的設(shè)置背景才有效

renderer.setBackgroundColor(Color.TRANSPARENT);  //設(shè)置背景

renderer.setMarginsColor() //設(shè)置周圍區(qū)域顏色

renderer.setZoomEnabled(false, false);  //設(shè)置是否能放大

renderer.setPanEnabled(false, false);  //設(shè)置是否可以移動(dòng)

renderer.setLabelsTextSize(15);  //設(shè)置標(biāo)簽文字大小
renderer.setLabelsColor(Color.BLACK);

相關(guān)文章

  • Android手機(jī)衛(wèi)士之獲取聯(lián)系人信息顯示與回顯

    Android手機(jī)衛(wèi)士之獲取聯(lián)系人信息顯示與回顯

    這篇文章主要介紹了Android手機(jī)衛(wèi)士之獲取聯(lián)系人信息顯示與回顯的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • flutter封裝單選點(diǎn)擊菜單工具欄組件

    flutter封裝單選點(diǎn)擊菜單工具欄組件

    這篇文章主要介紹了flutter封裝單選點(diǎn)擊菜單工具欄組件,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Android通過(guò)交互實(shí)現(xiàn)貝塞爾曲線的繪制

    Android通過(guò)交互實(shí)現(xiàn)貝塞爾曲線的繪制

    本篇我們將介紹簡(jiǎn)單的交互式繪圖,通過(guò)獲取觸控位置來(lái)設(shè)定貝塞爾曲線的控制點(diǎn),從而實(shí)現(xiàn)交互式繪制曲線,感興趣的小伙伴可以了解一下
    2022-05-05
  • Android進(jìn)度條ProgressBar的實(shí)現(xiàn)代碼

    Android進(jìn)度條ProgressBar的實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了Android進(jìn)度條ProgressBar的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 分析Android中線程和線程池

    分析Android中線程和線程池

    我們知道線程是CPU調(diào)度的最小單位。在Android中主線程是不能夠做耗時(shí)操作的,子線程是不能夠更新UI的。在Android中,除了Thread外,扮演線程的角色有很多,如AsyncTask,IntentService和HandlerThread等等。本文將介紹Android中線程和線程池。
    2021-06-06
  • Android自定義View實(shí)現(xiàn)時(shí)鐘功能

    Android自定義View實(shí)現(xiàn)時(shí)鐘功能

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)時(shí)鐘功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Android使用Walle實(shí)現(xiàn)多渠道打包功能的實(shí)現(xiàn)示例

    Android使用Walle實(shí)現(xiàn)多渠道打包功能的實(shí)現(xiàn)示例

    這篇文章主要介紹了Android使用Walle實(shí)現(xiàn)多渠道打包功能的實(shí)現(xiàn)示例,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android之側(cè)滑菜單DrawerLayout的使用介紹

    Android之側(cè)滑菜單DrawerLayout的使用介紹

    本篇文章主要介紹了Android之側(cè)滑菜單DrawerLayout的使用介紹,可以生成通過(guò)在屏幕上水平滑動(dòng)打開或者關(guān)閉菜單,能給用戶一個(gè)不錯(cuò)的體驗(yàn)效果
    2017-02-02
  • Android中的Launch Mode詳情

    Android中的Launch Mode詳情

    這篇文章主要介紹了Android中的Launch Mode詳情,文章圍繞主題的相關(guān)資料展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-06-06
  • android自定義組件實(shí)現(xiàn)儀表計(jì)數(shù)盤

    android自定義組件實(shí)現(xiàn)儀表計(jì)數(shù)盤

    這篇文章主要為大家詳細(xì)介紹了android自定義組件實(shí)現(xiàn)儀表計(jì)數(shù)盤,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論