MPAndroidChartで線グラフを描いてみる

MPAndroidChartというフリーのAndroidグラフ描画ツールで線グラフを描いてみた。
最も基本的(?)なメソッドをメモ。

@ app直下のbuild.gradleに以下を記述する。
repositories {
    maven { url "https://jitpack.io" }
}
dependencies {
    compile 'com.github.PhilJay:MPAndroidChart:v2.1.5'
}

A layoutの作成(activity_main.xml)
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

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

B MainActivityの作成
import android.app.Activity;
import android.os.Bundle;

import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import com.github.mikephil.charting.data.Entry;
import java.util.ArrayList;

public class MainActivity extends Activity {

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

        LineChart lineChart = (LineChart) findViewById(R.id.line_chart);

        ArrayList<LineDataSet> dataSets = new ArrayList<>();

        // X軸の値
        ArrayList<String> xValues = new ArrayList<>();
        xValues.add("No.1");
        xValues.add("No.2");
        xValues.add("No.3");
        xValues.add("No.4");
        xValues.add("No.5");

        // value
        ArrayList<Entry> value = new ArrayList<>();
        value.add(new Entry(100, 0));
        value.add(new Entry(120, 1));
        value.add(new Entry(150, 2));
        value.add(new Entry(250, 3));
        value.add(new Entry(500, 4));

        LineDataSet valueDataSet = new LineDataSet(value, "sample");
        dataSets.add(valueDataSet);

        lineChart.setData(new LineData(xValues, dataSets));

    }

}





するとこのような線グラフが描ける。

LineChartSample.jpg
posted by へっぽ at 23:49 | TrackBack(0) | Android | このブログの読者になる | 更新情報をチェックする

この記事へのトラックバック