챗지피티랑 스무번은 넘게 대화하면서 겨우 겨우 만든 소스
See the Pen highchart 1week data (evety 15 minutes) by publisher.kim (@publisherkim) on CodePen.
* 하이차트 전역 옵션 먼저 적용됨 (https://umings.github.io/file/highchart_common.js)
// x축 카테고리, 데이터 생성
var data = [];
var dayLabels = ["월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"];
for (var day = 0; day < 7; day++) {
for (var hour = 0; hour < 24; hour++) {
for (var minute = 0; minute < 60; minute += 15) {
var time = day * 24 * 60 + hour * 60 + minute;
var dayLabel = dayLabels[day];
var hourFormatted = (hour < 10 ? '0' : '') + hour;
var minuteFormatted = (minute < 10 ? '0' : '') + minute;
var formattedTime = dayLabel + " " + hourFormatted + ":" + minuteFormatted;
var value = Math.floor(Math.random() * (8001 - 6000) + 6000); // 6000부터 8000 사이의 랜덤값 생성
data.push([formattedTime, value]);
}
}
}
// chart
Highcharts.chart('chart', {
chart: {
type: 'spline',
marginTop: 10,
marginBottom: 80,
marginLeft: 80,
marginRight: 30,
},
xAxis: {
categories: dayLabels.map(function(dayLabel) {
return Array.from({
length: 24 * 4
}, function(_, i) {
var hour = Math.floor(i / 4);
var minute = (i % 4) * 15;
return dayLabel + " " + (hour < 10 ? '0' : '') + hour + ":" + (minute < 10 ? '0' : '') + minute;
});
}).flat(),
labels: {
rotation: 0,
x: 0,
y: 20,
step: 96, // 하루에 한 번 라벨 표시
formatter: function() {
// 끝에서부터 6글자를 삭제
return this.value.slice(0, -6);
}
},
},
series: [{
name: '시리즈1',
data: data
}]
});
728x90
'퍼블리싱 > highchart' 카테고리의 다른 글
간단한 multi yAxis 차트 highchart dual + multi yAxis chart (0) | 2023.09.14 |
---|---|
비교 차트 highchart compare chart (0) | 2023.09.13 |
legend에서 특정 item의 click이 안되게 할때 옵션 (0) | 2023.09.13 |
y축에 가로로 선 그리기 (plotLines) highchart yAxis line (plotLines) (0) | 2023.09.13 |
tooltip의 poinformat을 수정해야 할 때 (0) | 2023.09.13 |