본문 바로가기
카테고리 없음

꺽은선 그래프 만들기 (MpAndroidChart)

by nono22 2024. 1. 15.

꺾은선 그래프(MpAndroidChart)

꺾은선 그래프(MpAndroidChart)는 안드로이드에서 사용할 수 있는 강력한 차트 라이브러리로, 데이터를 시각적으로 표현하는데 주로 사용됩니다. 이 포스팅에서는 꺾은선 그래프를 만드는 방법에 대해서 알아보겠습니다.

1. MpAndroidChart 라이브러리 추가하기

먼저, 프로젝트의 build.gradle 파일에서 dependencies 블록에 MpAndroidChart 라이브러리를 추가해야 합니다. 아래와 같이 추가해줍니다.

dependencies {
  implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}

2. 꺾은선 그래프 생성하기

MpAndroidChart를 사용하여 꺾은선 그래프를 생성하는 방법은 다음과 같습니다.

2.1. 라이브러리 import하기

import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.components.XAxis;
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;

2.2. 꺾은선 그래프 생성하기

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

// 꺾은선 그래프 설정하기
lineChart.setTouchEnabled(true);
lineChart.setDragEnabled(true);
lineChart.setScaleEnabled(true);
lineChart.setPinchZoom(true);
lineChart.setDrawGridBackground(false);

// X축 설정하기
XAxis xAxis = lineChart.getXAxis();
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);

// Y축 설정하기
YAxis leftAxis = lineChart.getAxisLeft();
leftAxis.setDrawGridLines(true);

// 데이터 추가하기 (임의의 데이터)
ArrayList<Entry> entries = new ArrayList<>();
entries.add(new Entry(0, 20));
entries.add(new Entry(1, 30));
entries.add(new Entry(2, 25));

// 데이터셋 생성하기
LineDataSet lineDataSet = new LineDataSet(entries, "Label");
lineDataSet.setDrawValues(false);

// 데이터셋 리스트 생성하기
ArrayList<ILineDataSet> dataSets = new ArrayList<>();
dataSets.add(lineDataSet);

// 데이터셋 리스트를 담고있는 데이터 객체 생성하기
LineData data = new LineData(dataSets);

// 그래프에 데이터 설정하기
lineChart.setData(data);

// 그래프 업데이트하기
lineChart.invalidate();

위 코드에서는 임의의 데이터(20, 30, 25)를 사용하여 꺾은선 그래프를 생성하고 있습니다. 이 외에도 다양한 설정들을 통해 그래프의 스타일, 색상 등을 변경할 수 있습니다.

3. 마무리

위의 코드를 사용하여 꺾은선 그래프를 만들 수 있습니다. MpAndroidChart는 세련된 그래프를 손쉽게 생성할 수 있는 강력한 도구이며, 다양한 종류의 차트를 생성할 수 있습니다. 관련 문서는 공식 GitHub 저장소에서 확인할 수 있으니 참고하시기 바랍니다.

댓글