MPAndroidChart之LineChart曲線型

MPAndroidChart之LineChart曲線型

我前面講過折線的,現在來說曲線的。

效果圖:



Activity:

package com.wentong.administrator.mpandroid;

import android.graphics.Color;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.interfaces.datasets.ILineDataSet;

import java.util.ArrayList;
import java.util.List;


public class MainActivity extends AppCompatActivity {

    //申明控件
    LineChart lineChart ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //靜態加載佈局
        setContentView(R.layout.activity_main);
        //初始化視圖
        huView() ;
    }

    private void huView() {
        //找到控件
        lineChart = (LineChart) findViewById(R.id.lineChart);
        //數據源
        List<Entry> set1 = new ArrayList<Entry>() ;
        List<Entry> set2 = new ArrayList<Entry>() ;

        Entry x1 = new Entry(0f , 1f) ;
        Entry x2 = new Entry(1f , -1.1f) ;
        Entry x3 = new Entry(2f , 1.2f) ;
        Entry x4 = new Entry(3f , -1.3f) ;
        Entry x5 = new Entry(4f , 0.9f) ;
        set1.add(x1) ;
        set1.add(x2) ;
        set1.add(x3) ;
        set1.add(x4) ;
        set1.add(x5) ;
        Entry y1 = new Entry(5f , 2f) ;
        Entry y2 = new Entry(6f , -2.10f) ;
        Entry y3 = new Entry(7f , 2.20f) ;
        Entry y4 = new Entry(8f , -2.30f) ;
        Entry y5 = new Entry(9f , 0.2f) ;
        set2.add(y1) ;
        set2.add(y2) ;
        set2.add(y3) ;
        set2.add(y4) ;
        set2.add(y5) ;
        //創建LineDataSet對象
        LineDataSet lineDataSet = new LineDataSet(set1 , "表一") ;
        lineDataSet.setCircleSize(3f);// 圖標上的數據點小圓圈的圓形大小
        lineDataSet.setCircleColor(Color.WHITE);// 圖標上的數據點小圓圈的圓形的顏色
        lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);//曲線風格
        lineDataSet.setCubicIntensity(0.9f);//設置曲線的平滑度
        lineDataSet.setDrawFilled(true);//設置允許填充
        lineDataSet.setDrawCircles(false);//圖標上的數據點小圓圈不顯示
        lineDataSet.setFillColor(Color.rgb(0 , 255 , 255));//填充顏色
        lineDataSet.setLineWidth(2f);//曲線寬度
        lineDataSet.setColor(getResources().getColor(R.color.colorAccent));//曲線顏色

        LineDataSet lineDataSet1 = new LineDataSet(set2 , "表二") ;
        //List<ILineDataSet> 對象
        List<ILineDataSet> list = new ArrayList<ILineDataSet>() ;
        //將數據添加進集合
        list.add(lineDataSet) ;
        list.add(lineDataSet1) ;
        //數據對象,封裝了所有的數據
        LineData lineData = new LineData(list) ;
        //爲圖表設置新的數據對象。數據對象包含所有值和信息。
        lineChart.setData(lineData);
        //設置動畫時間
        lineChart.animateX(3000);
        //刷新
        lineChart.invalidate();
    }
}

XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.wentong.administrator.mpandroid.MainActivity">


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

</RelativeLayout>


這街道太擁擠,太多人有祕密。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章