amis/mock/chart/chart2.js

102 lines
2.4 KiB
JavaScript

function random(a = 1, b = 100, num = 1) {
if (num === 1) {
return randomOne();
} else {
let arr = [];
for (let i = 0; i < num; i++) {
arr.push(randomOne());
}
return arr;
}
function randomOne() {
let rand = Math.random();
return Math.ceil((a + ((b - a) * rand)));
}
}
module.exports = function (req, res) {
let data = {
title: {
text: '一天用电量分布',
subtext: '纯属虚构'
},
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
},
toolbox: {
show: true,
feature: {
saveAsImage: {}
}
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['00:00', '01:15', '02:30', '03:45', '05:00', '06:15', '07:30', '08:45', '10:00', '11:15', '12:30', '13:45', '15:00', '16:15', '17:30', '18:45', '20:00', '21:15', '22:30', '23:45']
},
yAxis: {
type: 'value',
axisLabel: {
formatter: '{value} W'
},
axisPointer: {
snap: true
}
},
visualMap: {
show: false,
dimension: 0,
pieces: [{
lte: 6,
color: 'green'
}, {
gt: 6,
lte: 8,
color: 'red'
}, {
gt: 8,
lte: 14,
color: 'green'
}, {
gt: 14,
lte: 17,
color: 'red'
}, {
gt: 17,
color: 'green'
}]
},
series: [
{
name: '用电量',
type: 'line',
smooth: true,
data: random(1, 200, 24),
markArea: {
data: [[{
name: '早高峰',
xAxis: '07:30'
}, {
xAxis: '10:00'
}], [{
name: '晚高峰',
xAxis: '17:30'
}, {
xAxis: '21:15'
}]]
}
}
]
};
res.json({
status: 0,
msg: 'ok',
data
});
}