You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
3.1 KiB
123 lines
3.1 KiB
function comprechart(spotslist, datalist) {
|
|
var app = {};
|
|
|
|
var chartDom = document.getElementById('mainchart');
|
|
var myChart = echarts.init(chartDom);
|
|
var option;
|
|
|
|
var posList = [
|
|
'left', 'right', 'top', 'bottom',
|
|
'inside',
|
|
'insideTop', 'insideLeft', 'insideRight', 'insideBottom',
|
|
'insideTopLeft', 'insideTopRight', 'insideBottomLeft', 'insideBottomRight'
|
|
];
|
|
|
|
app.configParameters = {
|
|
rotate: {
|
|
min: -90,
|
|
max: 90
|
|
},
|
|
align: {
|
|
options: {
|
|
left: 'left',
|
|
center: 'center',
|
|
right: 'right'
|
|
}
|
|
},
|
|
verticalAlign: {
|
|
options: {
|
|
top: 'top',
|
|
middle: 'middle',
|
|
bottom: 'bottom'
|
|
}
|
|
},
|
|
position: {
|
|
options: posList.reduce(function (map, pos) {
|
|
map[pos] = pos;
|
|
return map;
|
|
}, {})
|
|
},
|
|
distance: {
|
|
min: 0,
|
|
max: 100
|
|
}
|
|
};
|
|
|
|
app.config = {
|
|
rotate: 90,
|
|
align: 'left',
|
|
verticalAlign: 'middle',
|
|
position: 'insideBottom',
|
|
distance: 15,
|
|
onChange: function () {
|
|
}
|
|
};
|
|
|
|
var labelOption = {
|
|
show: true,
|
|
position: app.config.position,
|
|
distance: app.config.distance,
|
|
align: app.config.align,
|
|
verticalAlign: app.config.verticalAlign,
|
|
rotate: app.config.rotate,
|
|
formatter: '{c} {name|{a}}',
|
|
fontSize: 16,
|
|
rich: {
|
|
name: {}
|
|
}
|
|
};
|
|
|
|
var datas = [];
|
|
for (i = 0; i < datalist.length; i++) {
|
|
datas.push({
|
|
'name': datalist[i]['spot'],
|
|
'type': 'bar',
|
|
'barGap': 0,
|
|
'label': labelOption,
|
|
'emphasis': {'focus': 'series'},
|
|
'data': datalist[i]['data']
|
|
});
|
|
}
|
|
|
|
option = {
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
axisPointer: {
|
|
type: 'shadow'
|
|
}
|
|
},
|
|
legend: {
|
|
data: spotslist
|
|
},
|
|
color: [
|
|
"#5470c6", "#91cc75", "#fac858", "#ee6666", "#73c0de", "#fc8452", "#9a60b4"
|
|
],
|
|
toolbox: {
|
|
show: true,
|
|
orient: 'vertical',
|
|
left: 'right',
|
|
top: 'center',
|
|
feature: {
|
|
mark: {show: true},
|
|
dataView: {show: true, readOnly: false},
|
|
magicType: {show: true, type: ['line', 'bar', 'stack', 'tiled']},
|
|
restore: {show: true},
|
|
saveAsImage: {show: true}
|
|
}
|
|
},
|
|
xAxis: [
|
|
{
|
|
type: 'category',
|
|
axisTick: {show: false},
|
|
data: ['正常', '高温', '高湿', '断电', '漏水', '火情']
|
|
}
|
|
],
|
|
yAxis: [
|
|
{
|
|
type: 'value'
|
|
}
|
|
],
|
|
series: datas
|
|
};
|
|
option && myChart.setOption(option);
|
|
}
|