Razieh Shahraki

رسم نمودار دایره ای

1 ارسال در این موضوع قرار دارد

در این آموزش نمودار دایره ای با مقادیر و رنگ های دلخواه ایجاد میکنیم.

برای شروع کار پروژه جدیدی ایجاد می کنیم

اخرین ورژن کتابخانه AChartEngine (فایل jar) را دانلود می کنیم . لینک

فایل دانلود شده را در پوشه libs قرار می دهیم. روی فایل کلیک راست کرده و Build Path -> Add to Build path را انتخاب می کنیم.

 در فایل xml کد زیر را قرار می دهیم.

[shcode=xml]

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="wrap_content" >

   

        android:id="@+id/chart"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_alignParentBottom="true"

        android:layout_alignParentLeft="true"

        android:layout_below="@+id/btn_chart"

        tools:ignore="Orientation" >

   

   

        android:id="@+id/btn_chart"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_alignParentTop="true"

        android:layout_centerHorizontal="true"

        android:text="Draw Pie Chart" />

[/shcode]

در فایل java کد زیر را قرار می دهیم.

[shcode=java]package com.example.piechart;

import org.achartengine.ChartFactory;

import org.achartengine.model.CategorySeries;

import org.achartengine.renderer.DefaultRenderer;

import org.achartengine.renderer.SimpleSeriesRenderer;

import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.LinearLayout;

public class MainActivity extends Activity {

    private View mChart;

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        // Getting reference to the button btn_chart

        Button btnChart = (Button) findViewById(R.id.btn_chart);

        // Defining click event listener for the button btn_chart

        OnClickListener clickListener = new OnClickListener() {

            @Override

            public void onClick(View v) {

                // Draw the pie Chart

                openChart();

            }

        };

        // Setting event click listener for the button btn_chart of the

        // MainActivity layout

        btnChart.setOnClickListener(clickListener);

    }

    private void openChart() {

        // Pie Chart Section Names

        String[] code = new String[] { "Froyo", "Gingerbread",

        "IceCream Sandwich", "Jelly Bean", "KitKat" };

        // Pie Chart Section Value

        double[] distribution = { 0.5, 9.1, 7.8, 45.5, 33.9 };

        // Color of each Pie Chart Sections

        int[] colors = { Color.BLUE, Color.MAGENTA, Color.GREEN, Color.CYAN,

        Color.RED };

        // Instantiating CategorySeries to plot Pie Chart

        CategorySeries distributionSeries = new CategorySeries(

        " Android version distribution as on October 1, 2012");

        for (int i = 0; i < distribution.length; i++) {

            // Adding a slice with its values and name to the Pie Chart

            distributionSeries.add(code, distribution);

        }

        // Instantiating a renderer for the Pie Chart

        DefaultRenderer defaultRenderer = new DefaultRenderer();

        for (int i = 0; i < distribution.length; i++) {

            SimpleSeriesRenderer seriesRenderer = new SimpleSeriesRenderer();

            seriesRenderer.setColor(colors);

            seriesRenderer.setDisplayChartValues(true);

            // Adding colors to the chart

            defaultRenderer.setBackgroundColor(Color.BLACK);

            defaultRenderer.setApplyBackgroundColor(true);

            // Adding a renderer for a slice

            defaultRenderer.addSeriesRenderer(seriesRenderer);

        }

        defaultRenderer

        .setChartTitle("Android version distribution as on December 1, 2014. ");

        defaultRenderer.setChartTitleTextSize(20);

        defaultRenderer.setZoomButtonsVisible(false);

        // this part is used to display graph on the xml

        // Creating an intent to plot bar chart using dataset and

        // multipleRenderer

        // Intent intent = ChartFactory.getPieChartIntent(getBaseContext(),

        // distributionSeries , defaultRenderer, "AChartEnginePieChartDemo");

        // Start Activity

        // startActivity(intent);

        LinearLayout chartContainer = (LinearLayout) findViewById(R.id.chart);

        // remove any views before u paint the chart

        chartContainer.removeAllViews();

        // drawing pie chart

        mChart = ChartFactory.getPieChartView(getBaseContext(),

        distributionSeries, defaultRenderer);

        // adding the view to the linearlayout

        chartContainer.addView(mChart);

    }

}

[/shcode]

در فایل androidManifest.xml قبل از بسته شدن تگ application کد زیر را قرار می دهیم.

[shcode=xml][/shcode]

خروجی برنامه به صورت زیر می باشد

Screenshot_2014-12-15-15-55-03-187x300.png

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری