MPAndroidChart之LineChart雙線繪製

上面我們說了MPAndroidChart之LineChart的簡單繪製,今天來說MPAndroidChart之LineChart的雙線繪製。

效果圖

Activity:

package com.wentong.administrator.mpandroid;

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

import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.YAxis;
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);
        //雙線繪製
        drawDoublet();
    }
private void drawDoublet(){
        //找到控件
        lineChart = (LineChart) findViewById(R.id.chart) ;
        //創建Entry保存你的數據
        List<Entry> entry1 = new ArrayList<Entry>() ; //折線一的數據源
        List<Entry> entry2 = new ArrayList<Entry>() ; //折線二的數據源
        //向折線一添加數據
        Entry x1 = new Entry(0f , 10000f) ;
        entry1.add(x1) ;
        Entry x2 = new Entry(1f , 14000f) ;
        entry1.add(x2) ;
        Entry x3 = new Entry(2f , 5000f) ;
        entry1.add(x3) ;
        Entry x4 = new Entry(3f , 12000f) ;
        entry1.add(x4) ;
        //向折線二添加數據
        Entry y1 = new Entry(0f , 13000f) ;
        entry2.add(y1) ;
        Entry y2 = new Entry(1f , 15500f) ;
        entry2.add(y2) ;
        Entry y3 = new Entry(3f , 5500f) ;
        entry2.add(y3) ;
        Entry y4 = new Entry(4f , 10000f) ;
        entry2.add(y4) ;
        //將數據傳遞給LineDataSet對象
        LineDataSet set1 = new LineDataSet(entry1 , "折線一") ;
        //調用setAxisDependency()指定DataSets繪製相應的折線
        set1.setAxisDependency(YAxis.AxisDependency.LEFT);
        //折線一 折線的顏色
        set1.setColor(getResources().getColor(R.color.colorAccent));
        LineDataSet set2 = new LineDataSet(entry2 , "折線二") ;
        set2.setAxisDependency(YAxis.AxisDependency.LEFT);
        //折線二 折線的顏色
        set2.setColor(getResources().getColor(R.color.colorPrimary));
        //使用接口ILineDataSet
        List<ILineDataSet> dataSets = new ArrayList<ILineDataSet>() ;
        //添加數據
        dataSets.add(set1) ;
        dataSets.add(set2) ;
        LineData data = new LineData(dataSets) ;
        //設置圖表
        lineChart.setData(data);
        //刷新
        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/chart"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></com.github.mikephil.charting.charts.LineChart>
    
</RelativeLayout>

ok!


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