ECharts学习(4)--仪表盘

1.  ECharts中的仪表盘,要使用这个图表时把series中的type属性修改成‘gauge’,然后在detail中设置仪表盘详情,用于显示数据。最常用的是formatter(格式化函数或者字符串),然后可以设置data属性用来表示指针的指向。下面我们可以设置value的值为每隔2秒就随机生成一个数,然后就可以模拟显示指针的动态显示。

2.  代码展示:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>ECharts练习</title>
        <script type="text/javascript" src="js/echarts.min.js"></script>
    </head>

    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style="width: 600px;height:400px;"></div>
        <script type="text/javascript">
            // 基于准备好的dom,初始化echarts实例
            var myChart = echarts.init(document.getElementById(‘main‘));

            // 指定图表的配置项和数据
            var option = {
            title: {
                text: ‘业务指标‘, //标题文本内容
            },
            toolbox: { //可视化的工具箱
                show: true,
                feature: {
                    restore: { //重置
                        show: true
                    },
                    saveAsImage: {//保存图片
                        show: true
                    }
                }
            },
            tooltip: { //弹窗组件
                formatter: "{a} <br/>{b} : {c}%"
            },
            series: [{
                name: ‘业务指标‘,
                type: ‘gauge‘,
                detail: {formatter:‘{value}%‘},
                data: [{value: 45, name: ‘完成率‘}]
            }]

            };

            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option);

            setInterval(function(){//把option.series[0].data[0].value的值使用random()方法获取一个随机数
                option.series[0].data[0].value = (Math.random() * 100).toFixed(2) - 0;
                myChart.setOption(option, true);
            }, 2000);
        </script>
    </body>

</html>

3.  效果展示:

4.  这里只是最简单的实现了仪表盘,如果我们要实现更加复杂的功能,可以参考API文档中的其他参数进行设置,在官网的案例中做了一个十分酷炫的汽车的夜间仪表盘,下面我粘贴下代码,大家可以自己研究下,不懂得参数可以查看文档:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title>ECharts练习</title>
        <script type="text/javascript" src="js/echarts.min.js"></script>
    </head>

    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
        <div id="main" style="width: 600px;height:400px;"></div>
        <script type="text/javascript">
            // 基于准备好的dom,初始化echarts实例
            var myChart = echarts.init(document.getElementById(‘main‘));

            // 指定图表的配置项和数据
            option = {
                backgroundColor: ‘#1b1b1b‘,
                tooltip: {
                    formatter: "{a} <br/>{c} {b}"
                },
                toolbox: {
                    show: true,
                    feature: {
                        mark: {
                            show: true
                        },
                        restore: {
                            show: true
                        },
                        saveAsImage: {
                            show: true
                        }
                    }
                },
                series: [{
                    name: ‘速度‘,
                    type: ‘gauge‘,
                    min: 0,
                    max: 220,
                    splitNumber: 11,
                    radius: ‘50%‘,
                    axisLine: { // 坐标轴线
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: [
                                [0.09, ‘lime‘],
                                [0.82, ‘#1e90ff‘],
                                [1, ‘#ff4500‘]
                            ],
                            width: 3,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisLabel: { // 坐标轴小标记
                        textStyle: { // 属性lineStyle控制线条样式
                            fontWeight: ‘bolder‘,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisTick: { // 坐标轴小标记
                        length: 15, // 属性length控制线长
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: ‘auto‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    splitLine: { // 分隔线
                        length: 25, // 属性length控制线长
                        lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
                            width: 3,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    pointer: { // 分隔线
                        shadowColor: ‘#fff‘, //默认透明
                        shadowBlur: 5
                    },
                    title: {
                        textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                            fontWeight: ‘bolder‘,
                            fontSize: 20,
                            fontStyle: ‘italic‘,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    detail: {
                        backgroundColor: ‘rgba(30,144,255,0.8)‘,
                        borderWidth: 1,
                        borderColor: ‘#fff‘,
                        shadowColor: ‘#fff‘, //默认透明
                        shadowBlur: 5,
                        offsetCenter: [0, ‘50%‘], // x, y,单位px
                        textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                            fontWeight: ‘bolder‘,
                            color: ‘#fff‘
                        }
                    },
                    data: [{
                        value: 40,
                        name: ‘km/h‘
                    }]
                },
                {
                    name: ‘转速‘,
                    type: ‘gauge‘,
                    center: [‘25%‘, ‘55%‘], // 默认全局居中
                    radius: ‘30%‘,
                    min: 0,
                    max: 7,
                    endAngle: 45,
                    splitNumber: 7,
                    axisLine: { // 坐标轴线
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: [
                                [0.29, ‘lime‘],
                                [0.86, ‘#1e90ff‘],
                                [1, ‘#ff4500‘]
                            ],
                            width: 2,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisLabel: { // 坐标轴小标记
                        textStyle: { // 属性lineStyle控制线条样式
                            fontWeight: ‘bolder‘,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisTick: { // 坐标轴小标记
                        length: 12, // 属性length控制线长
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: ‘auto‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    splitLine: { // 分隔线
                        length: 20, // 属性length控制线长
                        lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
                            width: 3,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    pointer: {
                        width: 5,
                        shadowColor: ‘#fff‘, //默认透明
                        shadowBlur: 5
                    },
                    title: {
                        offsetCenter: [0, ‘-30%‘], // x, y,单位px
                        textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                            fontWeight: ‘bolder‘,
                            fontStyle: ‘italic‘,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    detail: {
                        //backgroundColor: ‘rgba(30,144,255,0.8)‘,
                        // borderWidth: 1,
                        borderColor: ‘#fff‘,
                        shadowColor: ‘#fff‘, //默认透明
                        shadowBlur: 5,
                        width: 80,
                        height: 30,
                        offsetCenter: [25, ‘20%‘], // x, y,单位px
                        textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
                            fontWeight: ‘bolder‘,
                            color: ‘#fff‘
                        }
                    },
                    data: [{
                        value: 1.5,
                        name: ‘x1000 r/min‘
                    }]
                },
                {
                    name: ‘油表‘,
                    type: ‘gauge‘,
                    center: [‘75%‘, ‘50%‘], // 默认全局居中
                    radius: ‘30%‘,
                    min: 0,
                    max: 2,
                    startAngle: 135,
                    endAngle: 45,
                    splitNumber: 2,
                    axisLine: { // 坐标轴线
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: [
                                [0.2, ‘lime‘],
                                [0.8, ‘#1e90ff‘],
                                [1, ‘#ff4500‘]
                            ],
                            width: 2,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisTick: { // 坐标轴小标记
                        length: 12, // 属性length控制线长
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: ‘auto‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisLabel: {
                        textStyle: { // 属性lineStyle控制线条样式
                            fontWeight: ‘bolder‘,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        },
                        formatter: function(v) {
                            switch(v + ‘‘) {
                                case ‘0‘:
                                    return ‘E‘;
                                case ‘1‘:
                                    return ‘Gas‘;
                                case ‘2‘:
                                    return ‘F‘;
                            }
                        }
                    },
                    splitLine: { // 分隔线
                        length: 15, // 属性length控制线长
                        lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
                            width: 3,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    pointer: {
                        width: 2,
                        shadowColor: ‘#fff‘, //默认透明
                        shadowBlur: 5
                    },
                    title: {
                        show: false
                    },
                    detail: {
                        show: false
                    },
                    data: [{
                        value: 0.5,
                        name: ‘gas‘
                    }]
                },
                {
                    name: ‘水表‘,
                    type: ‘gauge‘,
                    center: [‘75%‘, ‘50%‘], // 默认全局居中
                    radius: ‘30%‘,
                    min: 0,
                    max: 2,
                    startAngle: 315,
                    endAngle: 225,
                    splitNumber: 2,
                    axisLine: { // 坐标轴线
                        lineStyle: { // 属性lineStyle控制线条样式
                            color: [
                                [0.2, ‘lime‘],
                                [0.8, ‘#1e90ff‘],
                                [1, ‘#ff4500‘]
                            ],
                            width: 2,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    axisTick: { // 坐标轴小标记
                        show: false
                    },
                    axisLabel: {
                        textStyle: { // 属性lineStyle控制线条样式
                            fontWeight: ‘bolder‘,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        },
                        formatter: function(v) {
                            switch(v + ‘‘) {
                                case ‘0‘:
                                    return ‘H‘;
                                case ‘1‘:
                                    return ‘Water‘;
                                case ‘2‘:
                                    return ‘C‘;
                            }
                        }
                    },
                    splitLine: { // 分隔线
                        length: 15, // 属性length控制线长
                        lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
                            width: 3,
                            color: ‘#fff‘,
                            shadowColor: ‘#fff‘, //默认透明
                            shadowBlur: 10
                        }
                    },
                    pointer: {
                        width: 2,
                        shadowColor: ‘#fff‘, //默认透明
                        shadowBlur: 5
                    },
                    title: {
                        show: false
                    },
                    detail: {
                        show: false
                    },
                    data: [{
                        value: 0.5,
                        name: ‘gas‘
                    }]
                }]
            };

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

</html>

时间: 2024-08-11 05:28:04

ECharts学习(4)--仪表盘的相关文章

echarts学习总结

ECharts学习总结使用步骤1 引入ECharts <script src="echarts.min.js"></script>2 绘制一个简单的图表 为ECharts准备具备宽高的DOM容器 然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图 //基于准备好的dom,初始化echarts实例var myChart=echarts.init(document.getElementB

echarts学习之——电力迁徙图(一)

今天主要就是在搞echarts,我们都知道他为我们提供了丰富的api方法,使我们能够迅速的搭建图标.同时他里面还有许多的案例, 其中就有这么一个国内航线模拟迁徙的地图,如下所示: 而我们通常因为各种需求原因,不想要全国地图,而单单想要一个省,或一个市的地图,进行类似模拟迁徙的效果,就比如我接下来要做的这个效果图: 首先第一个案例中的demo代码我就不说了,可以到http://gallery.echartsjs.com/editor.html?c=xSyn_h87Sg 进行下载 接下来的步骤为:

ECharts学习总结(五):echarts选项概览

注:下面内容摘自echarts官网,原文地址:http://echarts.baidu.com/doc/doc.html#%E9%80%89%E9%A1%B9 option 图表选项,包含图表实例任何可配置选项: 公共选项 , 组件选项 , 数据选项 名称 描述 {color} backgroundColor 全图默认背景,(详见backgroundColor),支持rgba,默认为无,透明 {Array} color 数值系列的颜色列表,(详见color),可配数组,eg:['#87cefa'

ECharts学习总结(三):ECharts图表对象的初始化(init)详解以及注意事项

一.相关js文件的引入 这里我们采用标签式引入文件的方式,我们引入两个js文件,一个是esl.js文件和一个echarts.js. <script src="js/esl.js" type="text/javascript"></script> <script src="js/echarts.js" type="text/javascript"></script> 二.EChar

Echarts学习笔记

1.Ecahrts使用首先需要引用js文件 Echarts.js 然后定义一个带id的容器(div就可以) 然后就可以初始化echarts了 ↓这是柱形图 <h2 class="content-tit">本校各年级教材费用</h2> <div class="chart-box clearfix"> <div class="zhu-img-1" id="Bar_BookFee_RXNJ"

echarts学习心得1---模块化单文件引入和标签式单文件引入

一.模块化单文件引入 1. 为ECharts准备一个具备大小(宽高)的Dom(当然可以是动态生成的) <div id="main" style="height:400px;"></div> 2. 通过script标签引入echarts主文件 <script src="./js/echarts.js"></script> 3. 为模块加载器配置echarts的路径,从当前页面链接到echarts.js

ECharts学习总结(二):标签式单文件引入echarts的方法

下载好echarts的库文件.然后在script里面引入. //from echarts example <body> <div id="main" style="height:400px;"></div> ... <script src="js/echarts-2.2.7/build/dist/echarts-all.js"></script> <script> var m

ECharts学习(1)--简单图表的绘制

1.获取ECharts 官网 下载:http://echarts.baidu.com/download.html 2.在html页面中引入ECharts文件 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ECharts练习</title> <script type="text/javascript" src=&quo

ECharts学习(2)--饼状图之南丁格尔图

1.上一篇中讲了如何绘制一个简单的柱状图,这次要画的是饼图,饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目.因为不在直角坐标系上,所以也不需要xAxis,yAxis. 2.itemStyle都会有normal和emphasis两个选项,normal选项是正常展示下的样式,emphasis是鼠标 hover 时候的高亮样式.也可以把阴影的效果设置在hover的时候. 3.背景色是全局的,所以直接在 option 下设置backgr