zoukankan      html  css  js  c++  java
  • echarts渐变发光半圆仪表盘

    <!DOCTYPE html>
    <html style="height: 100%">
       <head>
           <meta charset="utf-8">
       </head>
       <body style="height: 100%; margin: 0">
           <div id="container" style="height: 100%;background-color: #000000;"></div>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-gl/dist/echarts-gl.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts-stat/dist/ecStat.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/dataTool.min.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/china.js"></script>
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/map/js/world.js"></script>
           <!-- <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=xfhhaTThl11qYVrqLZii6w8qE5ggnhrY&__ec_v__=20190126"></script> -->
           <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/extension/bmap.min.js"></script>
    	   <script src="echarts-liquidfill.js" type="text/javascript" charset="utf-8"></script>
           <script type="text/javascript">
          var dom = document.getElementById("container");
          let myChart = echarts.init(dom);
          option = null;
          let currentSpeedData = [{
            value: '60',
          }]
          var value = currentSpeedData[0].value;
          var colorRegionRate = (value / 100).toFixed(2);
          var {
            bgColor,
            level
          } = detectionData(value);
          var colors = [
            [0.05, '#3B85CD'],
            [0.10, '#4CA4CD'],
            [0.15, '#4DA6CD'],
            [0.20, '#62CBCE'],
            [0.25, '#6FE3CE'],
            [0.30, '#70FAC7'],
            [0.35, '#78EDBE'],
            [0.40, '#7AEEBE'],
            [0.45, '#78EABC'],
            [0.50, '#7CFACE'],
            [0.55, '#88F0AD'],
            [0.60, '#8EF3A8'],
            [0.65, '#8EF3A8'],
            [0.70, '#8FE998'],
            [0.75, '#8FE998'],
            [0.80, '#A7F68A'],
            [0.85, '#AEF883'],
            [0.90, '#B6F776'],
            [0.95, '#B7F46F'],
            [1, '#C4FC68']
          ];
          var colorList = [];
          colors.forEach((item, key) => {
            if (colorRegionRate >= item[0]) {
              colorList.push(item);
            } else {
              colorList.push([item[0], "#1D4176"]);
            }
          });
          option = {
            // tooltip: {
            //   show: false,
            //   position: "inside",
            //   formatter: "小于20%有发展空间<br>20%~40%为健康<br>40%~60%为预警<br>大于60%为过度",
            //   textStyle: {
            //     fontSize: 10,
            //   },
            // },
            series: [{
              name: "刻度",
              type: "gauge",
              radius: '100%',
    		  center:['50%','75%'],  //边距
              min: 0, //最小刻度
              max: 100, //最大刻度
              splitNumber: 6, //刻度数量
              startAngle: 180,
              endAngle: 0,
              axisLine: {
                show: true,
                lineStyle: {
                   0,
                  shadowBlur: 1,
                  color: colorList,
                },
              }, //仪表盘轴线
              axisLabel: {
                show: false,
                color: "#0ab7ff",
                fontSize: 15,
                distance: -50,
                formatter: function(flow) {
                  return flow + "分";
                },
              }, //刻度标签。
              axisTick: {
                show: true,
                splitNumber: 5,
                lineStyle: {
                  color: 'auto',
                   2, //外圈刻度盘
                },
                length: -20,
              }, //刻度样式
              splitLine: {
                show: false,
                length: -0,
                lineStyle: {
                  color: "#ffffff",
                },
              }, //分隔线样式
              pointer: { //仪表盘指针
                show: false,
              },
              detail: {
                offsetCenter: [0, '-8%'], // x, y,单位px 偏移位置
                textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                  color: '#ffffff',
                  fontSize: 18,
                  borderColor: '#3982f7', // 值域边框颜色
                   //边框颜色
                  borderWidth:1,
                  shadowColor:"#2d71f6",                          //阴影颜色
                  shadowOffsetX:1,                            //阴影水平方向上的偏移距离
                  shadowOffsetY:1,                            //阴影垂直方向上的偏移距离
                  shadowBlur:8,
                  borderRadius: 6,
                  padding: [12,8,8,8]
                },
                formatter: function(currentSpeed) {
                  return currentSpeed + "m³/S";
                },
              },
              data: currentSpeedData,
            },
              {
                type: "gauge",
                radius: '85%',
                center: ["50%", "75%"],
                splitNumber: 0, //刻度数量
                startAngle: 180,
                endAngle: 0,
                axisLine: {
                  show: true,
                  lineStyle: {
                     5,  // 内圈刻度
    
                    borderWidth:1,
                    shadowColor:"#3982f7",                          //阴影颜色
                    shadowOffsetX:0,                            //阴影水平方向上的偏移距离
                    shadowOffsetY:0,                            //阴影垂直方向上的偏移距离
                    shadowBlur:8,
                    borderRadius: 6,
    
    
                    // color: "#fa1900"
                    color: [
                      [1, new echarts.graphic.LinearGradient(0, 0, 1, 0, [{
                        offset: 0,
                        color: "#0E2562"
                      },
                        {
                          offset: 0.5,
                          color: "#0E2562"
                        },
                        {
                          offset: 1,
                          color: "#0E2562"
                        }
                      ])]
                    ],
                  },
                },
                //分隔线样式。
                splitLine: {
                  show: false,
                },
                axisLabel: {
                  show: false,
                },
                axisTick: {
                  show: false,
                },
                pointer: {
                  show: false,
                  length: "80%",
                   "20%",
                },
                title: {
                  show: true,
                  offsetCenter: ['0%', "-45%"], // x, y,单位px 瞬时流量
                  textStyle: {
                    color: "#ffffff",
                    fontSize: 18,
                    fontWeight: 400,
                    opacity: 0.9,
                  },
                },
                //仪表盘详情,用于显示数据。
                detail: {
                  show: true,
                  offsetCenter: ['10%', "-30%"],
                  color: "#ffffff",
                  padding: [0, 10],
                  backgroundColor: bgColor,
                  borderRadius: 25,
                  formatter: function(value) {
                    return level;
                  },
                  textStyle: {
                    fontSize: 12,
                  },
                },
                data: [{
                  name: "瞬时流量"
                }],
    
              },
            ],
          };
    
          function detectionData(value) {
            return {
              bgColor: bgColor,
            }
          }
          myChart.setOption(option);
          // 自适应图表
          window.onresize = function(){
            myChart.resize();
          }
    
        
           </script>
       </body>
    </html>
    

      

  • 相关阅读:
    重新认识自己
    GIT学习之路第一天 简介及其安装
    GIT学习之路第一天 简介及其安装
    2017杭电多校第六场1008 Kirinriki
    2017杭电多校第六场1008 Kirinriki
    常用技巧精选之尺取法
    常用技巧精选之尺取法
    2017杭电多校第六场1011Classes
    2017杭电多校第六场1011Classes
    2017杭电多校第六场03Inversion
  • 原文地址:https://www.cnblogs.com/WorldEye/p/13877368.html
Copyright © 2011-2022 走看看