728x90
이번 예제는 MPAndroidChart 라이브러리를 사용해서 막대 그래프를 만들어보겠습니다.
MPAndroidChart 란?
안드로이드 차트 기능을 제공하는 라이브러리 입니다.
[참고]
github.com/PhilJay/MPAndroidChart
build.gradle
allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
maven { url "https://jitpack.io" } // MPAndroidChart 의존 추가
}
}
// build.gradle(Project:프로젝트명)
dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
}
// build.gradle(Module:프로젝트명)
XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="match_parent">
<com.github.mikephil.charting.charts.BarChart
android:layout_height="300dp"
android:layout_width="match_parent"
android:id="@+id/chart"/>
</RelativeLayout>
Java
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import com.github.mikephil.charting.charts.BarChart;
import com.github.mikephil.charting.charts.LineChart;
import com.github.mikephil.charting.data.BarData;
import com.github.mikephil.charting.data.BarDataSet;
import com.github.mikephil.charting.data.BarEntry;
import com.github.mikephil.charting.data.Entry;
import com.github.mikephil.charting.data.LineData;
import com.github.mikephil.charting.data.LineDataSet;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
//선 그래프
private BarChart barChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ArrayList<BarEntry> entry_chart = new ArrayList<>(); // 데이터를 담을 Arraylist
barChart = (BarChart) findViewById(R.id.chart);
BarData barData = new BarData(); // 차트에 담길 데이터
entry_chart.add(new BarEntry(1, 1)); //entry_chart1에 좌표 데이터를 담는다.
entry_chart.add(new BarEntry(2, 2));
entry_chart.add(new BarEntry(3, 3));
entry_chart.add(new BarEntry(4, 4));
entry_chart.add(new BarEntry(5, 2));
entry_chart.add(new BarEntry(6, 8));
BarDataSet barDataSet = new BarDataSet(entry_chart, "bardataset"); // 데이터가 담긴 Arraylist 를 BarDataSet 으로 변환한다.
barDataSet.setColor(Color.BLUE); // 해당 BarDataSet 색 설정 :: 각 막대 과 관련된 세팅은 여기서 설정한다.
barData.addDataSet(barDataSet); // 해당 BarDataSet 을 적용될 차트에 들어갈 DataSet 에 넣는다.
barChart.setData(barData); // 차트에 위의 DataSet 을 넣는다.
barChart.invalidate(); // 차트 업데이트
barChart.setTouchEnabled(false); // 차트 터치 불가능하게
}
}
제작된 막대그래프
'안드로이드 자바' 카테고리의 다른 글
[JAVA][Android] 캘린더 일정 추가 및 삭제 (0) | 2022.02.28 |
---|---|
[JAVA][Android] 리사이클러뷰 (원리) (0) | 2022.02.26 |
[JAVA][Android] 키보드 보이기/숨기기 (0) | 2022.02.20 |
[JAVA][Android] URL과 DECODE 활용하기 (0) | 2022.02.18 |
[JAVA][Android] Intent로 객체 전달하기. (0) | 2022.02.16 |