본문 바로가기
안드로이드

[Android] MPAndroidChart x축 표시 제한하기

by 코딩히어로 2023. 5. 19.
728x90

 

Mp Android Chart 라이브러리를 사용하여 그래프를 구현하게 되면

x축의 개수는 수량에 상관없이 계속 축적되어 보입니다

 

이렇게 되면 한 화면의 그래프에 보이는 데이터가 확대 축소를 통해

세밀한 데이터를 볼 수도 있지만 데이터의 수가 만개 십만 개 이상

늘어나게 되면 이마저도 한눈에 들어오지 않게 됩니다

 

이럴 때에는 그래프의 한 화면에 뿌려지는 양을 제한하고 그 이상의 데이터는

좌측으로 하나씩 쉬프트 되어 보여주게 되면 데이터의 개수가 몇 개든 깔끔하게 관리가 가능합니다

 

즉 한 화면의 그래프의 개수를 60개로 제한하게 되면 0~60까지는 한 화면에 보이지만

61번째 데이터가 추가되게 되면 시작이 0이 아닌 1이 됩니다

62번 데이터가 들어오면 2~62번까지가 한 화면의 그래프에 표시됩니다

 

// 데이터 추가
dataSet1 = new LineDataSet(entries1, "Val");
List<ILineDataSet> dataSets = new ArrayList<>();
dataSets.add(dataSet1);
LineData lineData = new LineData(dataSets);
trend_chart1.setData(lineData);

trend_chart1.setVisibleXRangeMaximum(60); 
trend_chart1.moveViewToX(entries1.size()-61); 

// 데이터셋을 차트에 설정
trend_chart1.getData().notifyDataChanged();
trend_chart1.notifyDataSetChanged();
// 차트 갱신
trend_chart1.invalidate();

 

여기에서 핵심이 되는 부분은 trend_chart1.setVisibleXRangeMaximum(60);입니다

한 화면에 보이는 x축의 개수를 60개로 제한하고 그다음줄에서 60개를 유지할 수 있도록

x축의 좌표를 moveViewToX를 통해 이동시켜 줍니다

728x90
반응형

댓글