본문 바로가기
IT/Android

Android MPAndroidChart 막대 그래프 적용하기

by TechTonic 2022. 8. 10.
반응형

통계 화면(막대그래프)을 만들기 위해 차트 라이브러리로 유명한 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();
    }

실행하면 아래와 같은 막대그래프를 볼 수 있습니다.

MPAndroidChart 그래프

 

 

반응형

댓글