728x90
이번 예제는 MPAndroidChart 라이브러리를 사용해서 꺾은 선그래프를 만들어보겠습니다.
MPAndroidChart 란?
안드로이드 차트 기능을 제공하는 라이브러리 입니다.
github.com/PhilJay/MPAndroidChart
build.gradle
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url "https://jitpack.io" } // MPAndroidChart 의존 추가
}
}
// build.gradle(Project:프로젝트명)
dependencies {
compile 'com.github.PhilJay:MpAndroidChart:v3.0.2'
}
// build.gradle(Module:프로젝트명)
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:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent">
<com.github.mikephil.charting.charts.LineChart
android:layout_height="300dp"
android:layout_width="match_parent"
android:id="@+id/chart"/>
</RelativeLayout>
Java
package com.example.linegraph;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
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 java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
//선 그래프
private LineChart lineChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<Entry> entry_chart1 = new ArrayList<>(); // 데이터를 담을 Arraylist
ArrayList<Entry> entry_chart2 = new ArrayList<>();
lineChart = (LineChart) findViewById(R.id.chart);
LineData chartData = new LineData(); // 차트에 담길 데이터
entry_chart1.add(new Entry(1, 1)); //entry_chart1에 좌표 데이터를 담는다.
entry_chart1.add(new Entry(2, 2));
entry_chart1.add(new Entry(3, 3));
entry_chart1.add(new Entry(4, 4));
entry_chart1.add(new Entry(5, 2));
entry_chart1.add(new Entry(6, 8));
entry_chart2.add(new Entry(1, 2)); //entry_chart2에 좌표 데이터를 담는다.
entry_chart2.add(new Entry(2, 3));
entry_chart2.add(new Entry(3, 1));
entry_chart2.add(new Entry(4, 4));
entry_chart2.add(new Entry(5, 5));
entry_chart2.add(new Entry(6, 7));
LineDataSet lineDataSet1 = new LineDataSet(entry_chart1, "LineGraph1"); // 데이터가 담긴 Arraylist 를 LineDataSet 으로 변환한다.
LineDataSet lineDataSet2 = new LineDataSet(entry_chart2, "LineGraph2");
lineDataSet1.setColor(Color.RED); // 해당 LineDataSet의 색 설정 :: 각 Line 과 관련된 세팅은 여기서 설정한다.
lineDataSet2.setColor(Color.BLACK);
chartData.addDataSet(lineDataSet1); // 해당 LineDataSet 을 적용될 차트에 들어갈 DataSet 에 넣는다.
chartData.addDataSet(lineDataSet2);
lineChart.setData(chartData); // 차트에 위의 DataSet을 넣는다.
lineChart.invalidate(); // 차트 업데이트
lineChart.setTouchEnabled(false); // 차트 터치 disable
}
}
제작된 꺾은 선 그래프
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 이미지 넘겨보기 (0) | 2022.02.14 |
---|---|
[JAVA][Android] 안드로이드 Lottie 사용법 (0) | 2022.02.13 |
[JAVA][Android] [안드로이드] Volley+를 이용해서 서버에 파일 업로드하기 (0) | 2022.02.11 |
[Java][Android] 모션 레이아웃 (0) | 2022.02.07 |
[JAVA][Android] Flexbox Layout 사용해보기 (0) | 2022.02.06 |