안드로이드 자바
[Android][Java] BarChart 그리기
teamnova
2023. 3. 12. 12:00
728x90
안녕하세요. 오늘은 MP chart 라이브러리를 사용해서 막대 그래프를 그려보겠스빈다.
1. 라이브러리 추가하기
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
2. main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/barchart"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
3.mainActivity
public class MainActivity extends AppCompatActivity {
private ActivityMainBinding bind;
private ArrayList<BarEntry> datavalues1 = new ArrayList<>();
private ArrayList<BarEntry> datavalues2 = new ArrayList<>();
private ArrayList<BarDataSet> dataSets = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bind = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(bind.getRoot());
// 첫번째 데이터 세팅
// 그래프의 x좌표 값과 y 좌표값을 세팅합니다
datavalues1.add(new BarEntry(0, 1));
datavalues1.add(new BarEntry(1, 3));
datavalues1.add(new BarEntry(3, 6));
datavalues1.add(new BarEntry(4, 10));
// 표에 그릴 데이터 묶음 세팅
// 데이터의 제목을 달아줍니다.
BarDataSet barDataSet1 = new BarDataSet(datavalues1, "data set1");
dataSets.add(barDataSet1);
// 표에 데이터를 넣고, 표를 그려줍니다.
BarData barData = new BarData();
barData.addDataSet(barDataSet1);
bind.barchart.setData(barData);
bind.barchart.invalidate();
}

다음과 같이 막대 그래프를 그릴 수 있습니다.
다음 시간에는 막대 그래프를 커스텀하는 방법에 대해서 알아보겠습니다.