Echarts 2.27版本生成仪表盘

注意事项:

官方DEMO写的不太全面,对于新手来说,会很迷惑,遇到的问题也会很头疼,试验了一上午,终于恍然大明白

需要添加  require.config里的路径,仪表盘用到的文件为   'echarts/chart/gauge'需要添加,代码已经COPY出来了,欢迎大家一起学习,如果错误,希望大家批评指正。

代码如下:

<!DOCTYPE html>

<html>
<head>
    <meta charset="UTF-8">
    <title>ECharts练习</title>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 1000px; height: 400px;"></div>
    <script src="../echarts/dist/echarts.js"></script>
    <script type="text/javascript">
        require.config({
            paths: {
                echarts: '../echarts/dist'
            }
        });
        require(
           [
               'echarts',
               'echarts/chart/line',   // 按需加载所需图表,如需动态类型切换功能,别忘了同时加载相应图表
               'echarts/chart/bar',
               'echarts/chart/gauge'
           ],
           function (ec) {
               // 基于准备好的dom,初始化echarts实例
               var myChart = ec.init(document.getElementById('main'));
               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: {
                               offsetCenter: [0, '-30%']       // x, y,单位px
                           },
                           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' }]
                       }
                   ]
               };


               clearInterval(timeTicket);
               var timeTicket = 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;
                   myChart.setOption(option, true);
               }, 2000)
               myChart.setOption(option);
           }
       );
    </script>
</body>

</html>

运行结果图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值