728x90
안드로이드에서 가장 많이 사용되는 차트라이브러리인 MPAndroidChart를 이용해 보려고 한다.
그 중 거미줄 모양의 RadarChart를 사용해 보겠습니다.
1. 해당 라이브러리를 추가해준다.
repositories { maven { url 'https://jitpack.io' } }
dependencies { implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' }
2. xml 코드
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:orientation="vertical"
tools:context=".activities.MapSearchDetailActivity"
>
<com.github.mikephil.charting.charts.RadarChart
android:id="@+id/mapsearchdetail_radar_chart"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
3. java 코드
//xml
RadarChart radarChart;
radarChart = findViewById(R.id.mapsearchdetail_radar_chart);
//차트 데이터 생성
private ArrayList<RadarEntry> dataValue(){
ArrayList<RadarEntry> dataVals = new ArrayList<>();
dataVals.add(new RadarEntry(bigMartList.size()));
dataVals.add(new RadarEntry(gs24List.size()));
dataVals.add(new RadarEntry(schoolList.size()));
dataVals.add(new RadarEntry(academyList.size()));
dataVals.add(new RadarEntry(subwayList.size()));
dataVals.add(new RadarEntry(bankList.size()));
dataVals.add(new RadarEntry(hospitalList.size()));
dataVals.add(new RadarEntry(pharmacyList.size()));
dataVals.add(new RadarEntry(cafeList.size()));
return dataVals;
}
데이터 리스트를 만든다.
//차트생성
private void makeChart(){
RadarDataSet dataSet = new RadarDataSet(dataValue(), "DATA");
dataSet.setColor(Color.BLUE);
RadarData data = new RadarData();
data.addDataSet(dataSet);
String[] labels = {"대형마트", "편의점", "학교", "학원", "지하철", "은행", "병원", "약국", "카페"};
XAxis xAxis = radarChart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));
radarChart.setData(data);
}
- dataSet 생성
- setColor
- label
- 차트에 setData
차트 예시 이미지
- 트에 setData
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 원형 그래프 만들기 (0) | 2022.01.31 |
---|---|
[JAVA][Android] Volley+를 이용해서 이미지 파일 값을 보내고 응답받기 (4) | 2022.01.29 |
[JAVA][Android] ArrayAdapter를 이용하여 Spinner 구현 (0) | 2022.01.24 |
[Java][Android] BroadCast 이벤트 송신, 수신하기 (0) | 2022.01.23 |
[JAVA][Android] 핸들러를 사용해 원형프로그래스바를 실행하고, 종료시 토스트 메시지 띄우기 (0) | 2022.01.21 |