chart js 를 사용해서 통계 그래프를 만들었다
형태는 pie 형태였는데
문제는 그래프의 갯수가 10여개가 넘어간다는것
그래프마다 분류 갯수나 타이틀 배경색을 다 다르게해달라는 요청이었다
타이틀이나 배경색은 뭐 그런다 치더라도
pie그래프가 legend 갯수에 따라 그래프 크기가 아예 줄어들어버려서
html로 따로빼야하나.. 또 색상은 어케맞추나 하고있었는데
legend custom 하는 코드가 있어서 적용시켜서 다행이었다
options: {
responsive: true,
title: {
display: true,
text: '전체',
fontSize:20
},
plugins: {
labels: [
{
render: 'value',
fontColor: 'white',
overlap: false,
precision: 2,
fontSize: 15
}
]
},
legend: false,
legendCallback: function(chart) {
var text = [];
text.push('<ul class="' + chart.id + '-legend">');
for (var i = 0; i < chart.data.datasets[0].data.length; i++) {
text.push('<li><span style="background-color:' +
chart.data.datasets[0].backgroundColor[i] + '">');
text.push('</span>');
if (chart.data.labels[i]) {
text.push(chart.data.labels[i]);
}
text.push('</li>');
}
text.push('</ul>');
return text.join("");
}
}
옵션 부분에 이렇게 legendCallback 을 추가해서 css로 수정적용했다
'프로그래밍 > javascript' 카테고리의 다른 글
javascript animate , css로애니메이션 주기 (0) | 2022.05.24 |
---|---|
text에 하이라이트 추가하기 javascript (0) | 2022.05.18 |
ajax 로 파일 업로드하기 (0) | 2022.05.02 |
javasrcipt 주소창 parameter 가져오기 (0) | 2022.04.13 |
javscript 검색어 하이라이트 (0) | 2022.04.13 |