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!


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