이건 사실 공식문서가 다 있는 거라 가볍게 사용 할 수 있는 팁만 정의하려고 한다.
차트를 사용할 때에 나는 chart.js를 사용했다.
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
chart.js를 사용할 수 있는 소스를 추가 해주고
아래의 형식을 사용했다.
//기본형식
new Chart(id, {
type: 'bar',
data: {
labels: Xarr,
datasets: dataset,
},
options: {
responsive: false,
scales: {
y: {
beginAtZero: true
}
}
}
});
1. X값을 셋팅
DB에서 데이터를 조회하여 result.xAxis값에 담은 후 삼항연산자를 이용해서 null값을 조정하고, Xarr변수에 담았다.
var Xarr = [];
var dataset = [];
for(var i = 0 ; i < result.xAxis.length; i++){
var a = result.xAxis[i][data.xAxis] == null ? '-' : result.xAxis[i][data.xAxis];
Xarr.push(a);
}
2.Y값을 셋팅
Y값으로 사용될 내용을 Yarr 변수에 담았다.
// y값 셋팅
for(var i = 0 ; i < result.column.length; i++){
var column = result.column[i].Caption;
var Yarr = [];
for(var ii = 0 ; ii < result.yAxis.length; ii++){
Yarr.push(result.yAxis[ii][column]);
}
3. X값과 Y값을 json 형식으로 변수에 저장
var labelData = {
label: column,
data: Yarr,
borderWidth: 1
};
4. dataset변수에 json 형식을 담는다.( var dataset = [] )
dataset.push(labelData);
5. 그래프를 그린다
new Chart(id, {
type: 'bar',
data: {
labels: Xarr,
datasets: dataset,
},
options: {
responsive: false,
scales: {
y: {
beginAtZero: true
}
}
}
});
options 안에 repsonsive : false 의외로 굉장히 중요한 내용인데
기본적으로 그래프를 그려줄때에 default 크기는 생각보다 굉장히 커서 크기를 조절하기위해 style을 조정했는데 이상하게 크기가 변하지 않았다.구글링을 해보니 위 내용을 추가 해주면 style에 지정해 둔 크기로 변환이 된다고 하여 설정하니 그대로 되었다.
그래프 타입의 변화는
type 에 'bar', 'line' , 'pie', 'doughnut' 로 형식을 지정해주면 된다.
'개발 > JS' 카테고리의 다른 글
option up down (0) | 2023.02.13 |
---|---|
input checkbox비활성화 (0) | 2023.02.13 |
전화번호 포맷 (0) | 2023.02.13 |
base64 디코딩 (0) | 2023.02.13 |
상세페이지 이동 (0) | 2023.02.13 |