| |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <script src="lib/esl.js"></script> |
| <script src="lib/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: 600; |
| } |
| </style> |
| <div style="position: relative; height: 600px;" id="main"></div> |
| <div style="position: relative; height: 500px;" id="main1"></div> |
| <div style="position: relative; height: 500px;" id="main2"></div> |
| <script> |
| require([ |
| 'echarts' |
| // 'echarts/chart/gauge', |
| // 'echarts/component/legend', |
| // 'echarts/component/tooltip' |
| ], function (echarts) { |
| var chart1 = echarts.init(document.getElementById('main1'), 'dark', {}); |
| var option1 = { |
| tooltip: { |
| formatter: '{a} <br/>{b} : {c}%' |
| }, |
| toolbox: { |
| feature: { |
| restore: {}, |
| saveAsImage: {} |
| } |
| }, |
| series: [ |
| { |
| name: '业务指标', |
| type: 'gauge', |
| progress: { |
| show: true |
| }, |
| anchor:{ |
| showAbove: true, |
| show: true |
| }, |
| roundCap: true, |
| detail: {formatter: '{value}%'}, |
| data: [{value: 58.46, name: '完成率'}] |
| } |
| ] |
| }; |
| chart1.setOption(option1); |
| }) |
| </script> |
| <script> |
| require([ |
| 'echarts' |
| // 'echarts/chart/gauge', |
| // 'echarts/component/legend', |
| // 'echarts/component/tooltip' |
| ], function (echarts) { |
| var chart2 = echarts.init(document.getElementById('main2'), 'dark', {}); |
| var option2 = { |
| tooltip: { |
| formatter: '{a} <br/>{b} : {c}%' |
| }, |
| toolbox: { |
| feature: { |
| restore: {}, |
| saveAsImage: {} |
| } |
| }, |
| series: [ |
| { |
| name: '业务指标', |
| type: 'gauge', |
| pointer: { |
| icon: 'path://M2090.36389,615.30999 L2090.36389,615.30999 C2091.48372,615.30999 2092.40383,616.194028 2092.44859,617.312956 L2096.90698,728.755929 C2097.05155,732.369577 2094.2393,735.416212 2090.62566,735.56078 C2090.53845,735.564269 2090.45117,735.566014 2090.36389,735.566014 L2090.36389,735.566014 C2086.74736,735.566014 2083.81557,732.63423 2083.81557,729.017692 C2083.81557,728.930412 2083.81732,728.84314 2083.82081,728.755929 L2088.2792,617.312956 C2088.32396,616.194028 2089.24407,615.30999 2090.36389,615.30999 Z' |
| }, |
| roundCap: true, |
| progress: { |
| show: true, // 坐标轴线 |
| overlap: false, |
| color: ['#f00', '#0f0'] |
| }, |
| anchor: { |
| show: true, |
| showAbove: true |
| }, |
| detail: { |
| formatter: '{value}%' |
| }, |
| data: [ |
| { |
| value: 20, |
| name: '完成率', |
| title: { |
| offsetCenter: ['-40%', '20%'] |
| }, |
| detail: { |
| offsetCenter: ['-40%', '35%'] |
| } |
| }, |
| { |
| value: 40, |
| name: '达标率', |
| title: { |
| offsetCenter: ['0%', '20%'] |
| }, |
| detail: { |
| offsetCenter: ['0%', '35%'] |
| } |
| }, |
| { |
| value: 60, |
| name: '优秀率', |
| title: { |
| offsetCenter: ['40%', '20%'] |
| }, |
| detail: { |
| offsetCenter: ['40%', '35%'] |
| } |
| } |
| ], |
| title: { |
| fontSize: 14 |
| }, |
| detail: { |
| width: 30, |
| height: 12, |
| fontSize: 12, |
| color: 'auto', |
| borderColor: 'auto', |
| borderWidth: 1, |
| borderRadius: 3, |
| formatter: '{value}%', |
| } |
| } |
| ], |
| }; |
| chart2.setOption(option2); |
| }) |
| </script> |
| <script> |
| |
| require([ |
| 'echarts' |
| // 'echarts/chart/gauge', |
| // 'echarts/component/legend', |
| // 'echarts/component/tooltip' |
| ], function (echarts) { |
| |
| var chart = echarts.init(document.getElementById('main'), { |
| |
| }); |
| |
| var option ={ |
| aria: { |
| show: true |
| }, |
| 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控制线长 |
| distance: 10, |
| lineStyle: { // 属性lineStyle控制线条样式 |
| color: 'auto' |
| } |
| }, |
| splitLine: { // 分隔线 |
| length :20, // 属性length控制线长 |
| distance: 10, |
| lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| color: 'auto' |
| } |
| }, |
| axisLabel: { |
| formatter: '{a|{value}} km/h', |
| rich: { |
| a: { |
| color: '#222', |
| textBorderColor: '#fff', |
| textBorderWidth: 2, |
| backgroundColor: 'auto', |
| padding: [2, 4], |
| borderRadius: 3 |
| } |
| } |
| }, |
| title : { |
| textStyle: { // Test compat |
| fontWeight: 'bolder', |
| fontSize: 26, |
| }, |
| offsetCenter: [0, 0], |
| formatter: '{a|单位:}{value}', |
| backgroundColor: '#aabbcc', |
| padding: 10, |
| borderRadius: 5, |
| fontStyle: 'italic' |
| }, |
| detail : { |
| fontSize: 24, |
| fontWeight: 'bold', |
| textStyle: { // Test compat |
| backgroundColor: '#eeffee', |
| }, |
| offsetCenter: [0, '70%'], |
| borderRadius: 10, |
| borderWidth: 2, |
| borderColor: '#33aa33', |
| shadowBlur: 2, |
| shadowColor: '#222', |
| shadowOffsetX: 5, |
| shadowOffsetY: 5, |
| width: 'auto', |
| rotate: 15, |
| textShadowBlur: 2, |
| textShadowColor: '#66eeaa', |
| textShadowOffsetX: 2, |
| textShadowOffsetY: 3, |
| formatter: [ |
| '{a|码表}', |
| '{b|{value}}{c|km/h}', |
| '{j|width is this line is 400}', |
| '{d|left}{lineHeight|}{f|top}{g|bottom}middle{e|right}{e1|右边}' |
| ].join('\n'), |
| rich: { |
| a: { |
| fontSize: 34, |
| color: 'auto', |
| }, |
| b: { |
| fontSize: 20, |
| color: '#12294f', |
| align: 'center', |
| padding: [0, 5, 0, 0] |
| }, |
| c: { |
| fontSize: 14, |
| color: '#aa99bb', |
| rotate: 30, |
| backgroundColor: '#223344', |
| borderRadius: 3, |
| padding: [2, 10] |
| }, |
| d: { |
| align: 'left' |
| }, |
| e: { |
| align: 'right' |
| }, |
| e1: { |
| color: '#33aa99', |
| fontSize: 16, |
| align: 'right' |
| }, |
| f: { |
| verticalAlign: 'top' |
| }, |
| g: { |
| verticalAlign: 'bottom' |
| }, |
| h: { |
| align: 'center' |
| }, |
| i: { |
| align: 'center' |
| }, |
| j: { |
| width: 400, |
| backgroundColor: '#aabbcc', |
| color: '#123' |
| }, |
| lineHeight: { |
| lineHeight: 46 |
| } |
| } |
| }, |
| 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控制线长 |
| distance: 10, |
| lineStyle: { // 属性lineStyle控制线条样式 |
| color: 'auto' |
| } |
| }, |
| splitLine: { // 分隔线 |
| length :20, // 属性length控制线长 |
| distance: 10, |
| lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式 |
| color: 'auto' |
| } |
| }, |
| pointer: { |
| width:5 |
| }, |
| title : { |
| // x, y,单位px |
| offsetCenter: [0, '-30%'] |
| }, |
| detail : { |
| textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE |
| fontWeight: 'bolder', |
| fontSize: 12 |
| }, |
| }, |
| 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控制线长 |
| distance: 10, |
| 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控制线长 |
| distance: 10, |
| 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> |