728x90
안녕하세요
오늘은 레이더 그래프를 만들어 보겠습니다.
1. 라이브러리 등록
먼저 build.gradle에 라이브러리를 추가해줍니다.
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
2. 메인 화면 레이아웃 구성
main.xml
메인 화면에 다음과 같이 RaderChart 뷰를 만들어줍니다.
<?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.RadarChart
android:id="@+id/Radar_chart"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
3. 액티비티 코드 작성
MainActivity.java
public class MainActivity extends AppCompatActivity {
ActivityMainBinding bind;
RadarChart radarChart;
// 카테고리 라벨 등록
String[] labels = {"BMW", "폭스바겐", "볼보", "아우디", "람보르기니"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
bind = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(bind.getRoot());
radarChart = bind.RadarChart;
// 레이더 차트에 사용할 데이터셋을 생성합니다
RadarDataSet dataSet1 = new RadarDataSet(dateValues(),"데이터셋 1");
RadarDataSet dataSet2 = new RadarDataSet(dateValues2(),"데이터셋 2");
// 데이터의 색상을 설정합니다.
dataSet1.setColor(Color.RED);
dataSet2.setColor(Color.BLUE);
// 그래프에 직접 들어갈 데이터
RadarData data = new RadarData();
data.addDataSet(dataSet1);
data.addDataSet(dataSet2);
// X축 라벨을 표시할 값을 설정합니다.
XAxis xAxis = radarChart.getXAxis();
xAxis.setValueFormatter(new IndexAxisValueFormatter(labels));
// 레이더 차트에 데이터를 적용하고 뷰를 다시 그려줍니다.
radarChart.setData(data);
radarChart.invalidate();
}
// 레이더 차트에 적용할 데이터 셋을 생성하는 메서드 입니다.
private ArrayList<RadarEntry> dateValues(){
ArrayList<RadarEntry> DataVals = new ArrayList<>();
DataVals.add(new RadarEntry(4));
DataVals.add(new RadarEntry(7));
DataVals.add(new RadarEntry(1));
DataVals.add(new RadarEntry(5));
DataVals.add(new RadarEntry(4));
return DataVals;
}
private ArrayList<RadarEntry> dateValues2(){
ArrayList<RadarEntry> DataVals = new ArrayList<>();
DataVals.add(new RadarEntry(9));
DataVals.add(new RadarEntry(1));
DataVals.add(new RadarEntry(6));
DataVals.add(new RadarEntry(8));
DataVals.add(new RadarEntry(2));
return DataVals;
}
4. 결과
'안드로이드 자바' 카테고리의 다른 글
[Android][JAVA]원형 이미지뷰 만들기 (0) | 2023.04.16 |
---|---|
[Android][Java] Notification에 ProgressBar 사용하기 (0) | 2023.04.15 |
[Android][Java] 사진에 투명한 밑줄긋기 (0) | 2023.04.12 |
[Android][Java] 부팅/재부팅 시 실행되는 서비스 만들기 (0) | 2023.04.11 |
[Android][Java] 네이버 맵 API 사용하기 (5) | 2023.04.10 |