반응형
기존 Pie Chart나 doughnut chart에 데이타 레이블을 입혀보자.
1. npm isntall chartjs-plugin-datalabels
2. 그냥 적용하면 모든 차트에서 전부 데이타 레이블이 다닥다닥 붙는다.
한 가지의 차트에만 적용하고 싶다면 글로벌 환경에서 unregister를 꼭 해줄것
Chart.plugins.unregister(ChartDataLabels);
data: function() {
return {
Options: {
responsive: true,
maintainAspectRatio: false,
legend: {
}
//option config 안에 plugins라는 항목을 추가한다.
plugins: {
datalabels: {
backgroundColor: function (context) {
return context.dataset.backgroundColor;
},
borderColor: 'white',
borderRadius: 30,
borderWidth: 2,
color: function (context) {
return context.hovered ? 'black' : '#6e6d6d'
},
font: {
weight: 'normal'
},
listeners: {
enter: function (context) {
context.hovered = true;
return true;
},
leave: function (context) {
context.hovered = false;
return true;
}
},
display: true,
formatter: function (value, context) {
let sum = 0;
let valueArr = this.doughnutChart.datasets[0].data;
for (var i in valueArr) {
sum += parseInt(valueArr[i]);
}
let percentage = (value * 100 / sum).toFixed(2) + "%";
return percentage;
}.bind(this)
},
},
}
}
}
완성 후 그래프 모양
데이타의 실체수치를 퍼센트로 계산하여 동그라미 라벨에 표시하였다. 차트가 더욱 보기 좋아졌다.
참조링크:
https://chartjs-plugin-datalabels.netlify.com/samples/index.html
반응형
'프론트엔드 > Vue.js, CSS' 카테고리의 다른 글
[Vue.js] 뷰 router 설치, 사용법 (0) | 2022.01.04 |
---|---|
vuex 설치, 사용법 (2) | 2022.01.03 |