Mpchart 라이브러리 Stacked Barchart 구현하는 방법
값이 없을 땐 Tue처럼
값이 있을 땐 Mon Wen 처럼 구현하고 싶었습니다.
Mpchart 라이브러리에서 이것을 구현하기 위해서 stacked bar를 사용해야합니다.
생각보다 코드가 간단합니다.
기존의 barchart 구현과 다른점을 간단하게 요약해드리겠습니다.
1. BarEntry를 넣을 때 배열로 넣습니다.
ex) new float[]{mondayData,100-mondayData}
2.setcolor를 두 개로 합니다.
( 3 개의 stack으로 하고 싶다면 3개로 하시면 됩니다)
barDataSet.setColors(Color.rgb(72,202,228),Color.rgb(213,222,226));
//!--1단계
ArrayList<BarEntry> arrayList = new ArrayList<>();
// arrayList.add(new BarEntry(0,mondayData));
arrayList.add(new BarEntry(0,new float[]{mondayData,100-mondayData}));
arrayList.add(new BarEntry(1,new float[]{tuesDayData,100-tuesDayData}));
arrayList.add(new BarEntry(2,new float[]{wednesdayData,100-wednesdayData}));
arrayList.add(new BarEntry(3,new float[]{thursdayData,100-thursdayData}));
arrayList.add(new BarEntry(4,new float[]{fridayData,100-fridayData}));
arrayList.add(new BarEntry(5,new float[]{saturdayData,100-saturdayData}));
arrayList.add(new BarEntry(6,new float[]{sundayData,100-sundayData}));
//!--2단계
BarDataSet barDataSet = new BarDataSet(arrayList,"실천 점수");
barDataSet.setColors(Color.rgb(72,202,228),Color.rgb(213,222,226));
barDataSet.setValueTextColor(Color.BLACK);
barDataSet.setValueTextSize(5F);
barDataSet.setDrawValues(false);
//!--3단계
BarData barData = new BarData(barDataSet);
barData.setBarWidth(0.5f);
chart.setFitBars(true);
chart.setData(barData);
chart.getDescription().setText(" ");
chart.animateY(800);
궁금하신 점이 있으면 댓글로 남겨주세요 ~
도움이 되셨으면 좋아요 부탁드려요!