반응형
통계 화면(막대그래프)을 만들기 위해 차트 라이브러리로 유명한 MPAndroidChart를 사용해 보았습니다.
Google에 많은 정보가 있어서 적용하기는 나름 쉬웠습니다.
그럼 MPAndroidChart를 활용한 기본 막대그래프 차트를 만들어 봅시다.
MPAndroidChart Dependencies 적용
build.gradle (Module)
dependencies {
...
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
settings.gradle
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
maven { url 'https://jitpack.io' } <--- 이거 추가.
}
}
gradle plugin 7.x 이상의 경우 setting.gradle 에 추가해줘야 합니다.
화면 및 그래프 추가
그래프를 넣을 layout 을 만들어 줍니다.
<com.github.mikephil.charting.charts.BarChart
android:id="@+id/fragment_barchart"
android:layout_width="match_parent"
android:layout_height="180dp"
android:layout_marginStart="5dp"
android:layout_marginEnd="5dp"
/>
그리고 아래는 차트를 그릴 샘플 코드입니다.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View v =inflater.inflate(R.layout.fragment_main, container, false);
barChart = (BarChart) v.findViewById(R.id.fragment_bluetooth_chat_barchart);
BarChartGraph();
barChart.setTouchEnabled(false);
barChart.getAxisRight().setAxisMaxValue(80);
barChart.getAxisLeft().setAxisMaxValue(80);
return v;
}
private void BarChartGraph() {
ArrayList<BarEntry> entries = new ArrayList<>();
entries.add(new BarEntry(0f, 10f));
entries.add(new BarEntry(1f, 20f));
entries.add(new BarEntry(5f, 30f));
BarDataSet depenses1 = new BarDataSet(entries, "1111"); // 변수로 받아서 넣어줘도 됨
BarDataSet depenses = new BarDataSet(entries, "일일 사용시간"); // 변수로 받아서 넣어줘도 됨
depenses.setAxisDependency(YAxis.AxisDependency.LEFT);
barChart.setDescription(null);
BarData data = new BarData(depenses1, depenses); // 라이브러리 v3.x 사용하면 에러 발생함
depenses.setColors(ColorTemplate.LIBERTY_COLORS); //
barChart.setData(data);
barChart.animateXY(1000, 1000);
barChart.invalidate();
}
실행하면 아래와 같은 막대그래프를 볼 수 있습니다.
반응형
'IT > Android' 카테고리의 다른 글
Android 투명 Activity (Layout) 배경 만드는 방법. (0) | 2022.08.31 |
---|---|
Android TimePicker Dialog 커스텀 해서 만들기 (색상, 버튼) (0) | 2022.08.26 |
Android 앱에 Font (글꼴, 폰트) 적용하기 (0) | 2022.08.05 |
Android Studio 코드 자동 정렬하기 (0) | 2022.08.02 |
Android Firebase Crashlytics 적용하기 (0) | 2022.07.29 |
댓글