-
MPAndroidChart barchart 상단 둥글게 만들기Android 2021. 11. 17. 11:14
MPAndroidChart는 여러가지 커스텀을 할 수 있는데 아래와 같이 막대그래프의 모양을 변경 하는 커스텀을 제공해주지 않는다. 그래서 막대 그래프 모양을 그려주는 부분을 수정해야한다.
그래프의 막대 모양은 android canvas를 이용해 그려준다. drawDataSet 의 그려주는 부분인 drawRect를 수정 해주면 도니다. (더 자세히 알고 싶은 사람은 canvas drawRect 구글링)
방법
- BarChartRenderer를 확장하는 커스텀 렌더 클래스 만들기
- 메서드 drawDataSet 재정의(가장 쉬운 방법은 BarChartRenderer.java에서 drawDataSet 메서드 코드를 복사하는 것입니다)
- "drawRect"를 "drawRoundedRect"로 변경
- 렌더러를 막대 차트로 설정...
barChart.setRenderer(new MyRenderer(barChart, barChart.getAnimator(), barChart.getViewPortHandler()));
적용
위에 1~3번 내용 적용한 파일 아래 파일을 추가 "RoundBarChartRender.kt"
https://gist.github.com/timtsj/28e0da04b2037d7988e266636e10a277
chart를 생성하는 곳에서 아래처럼 추가
var render = RoundBarChartRender(binding.chart, binding.chart.animator, binding.chart.viewPortHandler) render.setRadius(20) binding.chart.renderer = render
적용 결과
참조
https://black-jin0427.tistory.com/144
https://github.com/PhilJay/MPAndroidChart/issues/803
https://stackoverflow.com/questions/30761082/mpandroidchart-round-edged-bar-chart/
https://github.com/PhilJay/MPAndroidChart/issues/4264
'Android' 카테고리의 다른 글
[issue] String index out of range: 0 (0) 2021.09.01