|
|
<html>
|
|
|
<head>
|
|
|
<meta charset="utf-8">
|
|
|
<script src="esl.js"></script>
|
|
|
<script src="config.js"></script>
|
|
|
<script src="lib/dat.gui.min.js"></script>
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
|
</head>
|
|
|
<body>
|
|
|
<style>
|
|
|
html, body, #main {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
}
|
|
|
</style>
|
|
|
<div id="main"></div>
|
|
|
<script>
|
|
|
|
|
|
require([
|
|
|
'echarts',
|
|
|
'echarts/chart/gauge',
|
|
|
'echarts/component/legend',
|
|
|
'echarts/component/tooltip'
|
|
|
], function (echarts) {
|
|
|
|
|
|
var chart = echarts.init(document.getElementById('main'), null, {
|
|
|
renderer: 'canvas'
|
|
|
});
|
|
|
|
|
|
var option ={
|
|
|
tooltip : {
|
|
|
formatter: '{a} <br/>{c} {b}'
|
|
|
},
|
|
|
toolbox: {
|
|
|
show : true,
|
|
|
feature : {
|
|
|
mark : {show: true},
|
|
|
restore : {show: true},
|
|
|
saveAsImage : {show: true}
|
|
|
}
|
|
|
},
|
|
|
series : [
|
|
|
{
|
|
|
name:'速度',
|
|
|
type:'gauge',
|
|
|
z: 3,
|
|
|
min:0,
|
|
|
max:220,
|
|
|
splitNumber:11,
|
|
|
axisLine: { // 坐标轴线
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
width: 10
|
|
|
}
|
|
|
},
|
|
|
axisTick: { // 坐标轴小标记
|
|
|
length :15, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
splitLine: { // 分隔线
|
|
|
length :20, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
title : {
|
|
|
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
|
|
|
fontWeight: 'bolder',
|
|
|
fontSize: 20,
|
|
|
fontStyle: 'italic'
|
|
|
}
|
|
|
},
|
|
|
detail : {
|
|
|
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
|
|
|
fontWeight: 'bolder'
|
|
|
}
|
|
|
},
|
|
|
data:[{value: 40, name: 'km/h'}]
|
|
|
},
|
|
|
{
|
|
|
name:'转速',
|
|
|
type:'gauge',
|
|
|
center : ['25%', '55%'], // 默认全局居中
|
|
|
radius : '50%',
|
|
|
min:0,
|
|
|
max:7,
|
|
|
endAngle:45,
|
|
|
splitNumber:7,
|
|
|
axisLine: { // 坐标轴线
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
width: 8
|
|
|
}
|
|
|
},
|
|
|
axisTick: { // 坐标轴小标记
|
|
|
length :12, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
splitLine: { // 分隔线
|
|
|
length :20, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
pointer: {
|
|
|
width:5
|
|
|
},
|
|
|
title : {
|
|
|
// x, y,单位px
|
|
|
offsetCenter: [0, '-30%']
|
|
|
},
|
|
|
detail : {
|
|
|
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
|
|
|
fontWeight: 'bolder'
|
|
|
}
|
|
|
},
|
|
|
data:[{value: 1.5, name: 'x1000 r/min'}]
|
|
|
},
|
|
|
{
|
|
|
name:'油表',
|
|
|
type:'gauge',
|
|
|
center : ['75%', '50%'], // 默认全局居中
|
|
|
radius : '50%',
|
|
|
min:0,
|
|
|
max:2,
|
|
|
startAngle:135,
|
|
|
endAngle:45,
|
|
|
splitNumber:2,
|
|
|
axisLine: { // 坐标轴线
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
color: [[0.2, '#ff4500'],[0.8, '#48b'],[1, '#228b22']],
|
|
|
width: 8
|
|
|
}
|
|
|
},
|
|
|
axisTick: { // 坐标轴小标记
|
|
|
splitNumber:5,
|
|
|
length :10, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
axisLabel: {
|
|
|
formatter:function(v){
|
|
|
switch (v + '') {
|
|
|
case '0' : return 'E';
|
|
|
case '1' : return 'Gas';
|
|
|
case '2' : return 'F';
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
splitLine: { // 分隔线
|
|
|
length :15, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
pointer: {
|
|
|
width:2
|
|
|
},
|
|
|
title : {
|
|
|
show: false
|
|
|
},
|
|
|
detail : {
|
|
|
show: false
|
|
|
},
|
|
|
data:[{value: 0.5, name: 'gas'}]
|
|
|
},
|
|
|
{
|
|
|
name:'水表',
|
|
|
type:'gauge',
|
|
|
center : ['75%', '50%'], // 默认全局居中
|
|
|
radius : '50%',
|
|
|
min:0,
|
|
|
max:2,
|
|
|
startAngle:315,
|
|
|
endAngle:225,
|
|
|
splitNumber:2,
|
|
|
axisLine: { // 坐标轴线
|
|
|
lineStyle: { // 属性lineStyle控制线条样式
|
|
|
color: [[0.2, '#ff4500'],[0.8, '#48b'],[1, '#228b22']],
|
|
|
width: 8
|
|
|
}
|
|
|
},
|
|
|
axisTick: { // 坐标轴小标记
|
|
|
show: false
|
|
|
},
|
|
|
axisLabel: {
|
|
|
formatter:function(v){
|
|
|
switch (v + '') {
|
|
|
case '0' : return 'H';
|
|
|
case '1' : return 'Water';
|
|
|
case '2' : return 'C';
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
splitLine: { // 分隔线
|
|
|
length :15, // 属性length控制线长
|
|
|
lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
|
|
|
color: 'auto'
|
|
|
}
|
|
|
},
|
|
|
pointer: {
|
|
|
width:2
|
|
|
},
|
|
|
title : {
|
|
|
show: false
|
|
|
},
|
|
|
detail : {
|
|
|
show: false
|
|
|
},
|
|
|
data:[{value: 0.5, name: 'gas'}]
|
|
|
}
|
|
|
]
|
|
|
};
|
|
|
|
|
|
chart.setOption(option);
|
|
|
|
|
|
setInterval(function () {
|
|
|
option.series[0].data[0].value = (Math.random()*100).toFixed(2) - 0;
|
|
|
option.series[1].data[0].value = (Math.random()*7).toFixed(2) - 0;
|
|
|
option.series[2].data[0].value = (Math.random()*2).toFixed(2) - 0;
|
|
|
option.series[3].data[0].value = (Math.random()*2).toFixed(2) - 0;
|
|
|
chart.setOption(option,true);
|
|
|
}, 2000);
|
|
|
// var config = {
|
|
|
// labelPosition: 'outside',
|
|
|
// clockwise: true,
|
|
|
// labelLineLen: 20,
|
|
|
// labelLineLen2: 5
|
|
|
// };
|
|
|
|
|
|
// function update() {
|
|
|
// chart.setOption({
|
|
|
// series: [{
|
|
|
// name: 'pie',
|
|
|
// clockwise: config.clockwise,
|
|
|
// label: {
|
|
|
// normal: {
|
|
|
// position: config.labelPosition
|
|
|
// }
|
|
|
// },
|
|
|
// labelLine: {
|
|
|
// length: config.labelLineLen,
|
|
|
// length2: config.labelLineLen2
|
|
|
// }
|
|
|
// }]
|
|
|
// });
|
|
|
// }
|
|
|
|
|
|
// var gui = new dat.GUI();
|
|
|
// gui.add(config, 'clockwise')
|
|
|
// .onChange(update);
|
|
|
// gui.add(config, 'labelPosition', ['inside', 'outside'])
|
|
|
// .onChange(update);
|
|
|
// gui.add(config, 'labelLineLen', 0, 100)
|
|
|
// .onChange(update);
|
|
|
// gui.add(config, 'labelLineLen2', 0, 100)
|
|
|
// .onChange(update);
|
|
|
})
|
|
|
|
|
|
</script>
|
|
|
</body>
|
|
|
</html> |