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();
}
다음과 같이 막대 그래프를 그릴 수 있습니다.
다음 시간에는 막대 그래프를 커스텀하는 방법에 대해서 알아보겠습니다.
'안드로이드 자바' 카테고리의 다른 글
[Android][Java] 뷰(View)의 크기 및 간격 공통 관리 하기 (0) | 2023.03.15 |
---|---|
[Android][Java] Service 사용 이해를 위한 예제(1) (0) | 2023.03.14 |
[Android][Java] 브로드캐스트리시버를 이용해 문자 수신 받기 (0) | 2023.03.11 |
[Android][Java] nextFocusDown 이용해서 EditText 포커스 변경하기 (0) | 2023.03.10 |
[JAVA][Android] Kakao 로그인 API 사용하기 (7) | 2023.03.06 |