Android MPAndroidChart 의 PieChart 와 데이터 구조 및 모델 [5]

3472 단어 android
Android MPAndroidChart 의 PieChart 와 데이터 구조 및 모델 [5]
MPAndroidChart 의 떡 모양 그림 PieChart 를 예 로 들 면.
테스트 한 MainActivity 의 자바 코드:
package com.example.piechart;

import java.util.ArrayList;

import com.github.mikephil.charting.charts.PieChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.PieData;
import com.github.mikephil.charting.data.PieDataSet;
import com.github.mikephil.charting.formatter.PercentFormatter;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;

/*
 * MPAndroidChart                      。
 *   ,           ,           (x,y)        。
 *       x    x-i  ,y       y-i   ,     (i-x,i-y)
 * MPAndroidChart       x        (i,    )     ,
 *  MPAndroidChart  y              。  ,y  Entry  (x,y)        。
 *   ,    (xi,yi)        ,   MPAndroidChart , x  i          x      ,    y    Entry,Entry  (value,i)
 * 
 * */

public class MainActivity extends Activity {

	private PieChart mChart;
	private String[] x = new String[] { "A   ", "B   ", "C   " };

	//   100 % 100
	private float[] y = { 10f, 60f, 30f };

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		mChart = (PieChart) findViewById(R.id.chart);

		//     
		mChart.setDescription("by Zhang Phil @ http://blog.csdn.net/zhangphil");

		//  3         
		setData(x.length);
	}

	private void setData(int count) {

		//   x" "  : i   ,  x[i]   
		ArrayList<String> xVals = new ArrayList<String>();

		//            。
		// Entry          :position  position   。
		ArrayList<Entry> yVals = new ArrayList<Entry>();

		for (int xi = 0; xi < count; xi++) {
			xVals.add(xi, x[xi]);

			// y[i]   x  i         
			yVals.add(new Entry(y[xi], xi));
		}

		PieDataSet yDataSet = new PieDataSet(yVals, "    ");

		//                
		ArrayList<Integer> colors = new ArrayList<Integer>();
		colors.add(Color.RED);
		colors.add(Color.GREEN);
		colors.add(Color.BLUE);
		yDataSet.setColors(colors);

		//  x  y    PieData     
		PieData data = new PieData(xVals, yDataSet);

		//    PercentFormatter   % 
		data.setValueFormatter(new PercentFormatter());

		//      
		data.setValueTextColor(Color.BLACK);

		//             PieChart
		mChart.setData(data);
		mChart.invalidate();
	}
}

필요 한 레이아웃 파일 은 PieChart 요소 입 니 다.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.piechart.MainActivity" >

    <com.github.mikephil.charting.charts.PieChart
        android:id="@+id/chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</RelativeLayout>

코드 실행 결과:
관련 글:
【 1 】 링크 주소:http://blog.csdn.net/zhangphil/article/details/47656521 
【 2 】 링크 주소:http://blog.csdn.net/zhangphil/article/details/47685515 
【 3 】 링크 주소:http://blog.csdn.net/zhangphil/article/details/47702245 
【 4 】 링크 주소:http://blog.csdn.net/zhangphil/article/details/47727913 
【 5 】 MPAndroidChart 가 github 에 있 는 프로젝트 홈 페이지:https://github.com/PhilJay/MPAndroidChart

좋은 웹페이지 즐겨찾기