博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
echarts同一页面四个图表切换的js数据交互
阅读量:5328 次
发布时间:2019-06-14

本文共 6963 字,大约阅读时间需要 23 分钟。

需求:点击tab页,切换四个不同的图表,ajax向后台请求数据,展示在四个不同的图表中。

其余的就不多说,直接上js代码了

$(function() {    $("#heart").on("click", function() {        $('.heart-car').show();        $('.sleep-car').hide();        $('.breathe-car').hide();        $('.sport-car').hide();    });    $("#breathe").on("click", function() {        $('.heart-car').hide();        $('.sleep-car').hide();        $('.breathe-car').show();        $('.sport-car').hide();    });    $("#sport").on("click", function() {        $('.heart-car').hide();        $('.sleep-car').hide();        $('.breathe-car').hide();        $('.sport-car').show();    });    $("#sleep").on("click", function() {        $('.heart-car').hide();        $('.sleep-car').show();        $('.breathe-car').hide();        $('.sport-car').hide();    });        /* 第一个图表 */        var aChart = echarts.init(document.getElementById("main"));    function aFun(x_data, y_data) {        aChart.setOption({            title: {                text: '睡眠质量监测'            },            tooltip: {                trigger: 'axis'            },            xAxis: {                data: x_data            },            yAxis: {                splitLine: {                    show: false                }            },            toolbox: {                left: 'center',                feature: {                    dataZoom: {                        yAxisIndex: 'none'                    },                    restore: {},                    saveAsImage: {}                }            },            dataZoom: [{                startValue: '2014-06-01'            }, {                type: 'inside'            }],            visualMap: {                top: 10,                right: 10,                pieces: [ {                    gt: 0,                    lte: 1,                    color: '#ffde33'                }, {                    gt: 1,                    lte: 2,                    color: '#ff9933'                }, {                    gt: 2,                    lte: 3,                    color: '#cc0033'                }, {                    gt: 3,                    lte: 4,                    color: '#660099'                }],                outOfRange: {                    color: '#999'                }            },            series: {                name: '睡眠',                type: 'line',                data: y_data,                markLine: {                    silent: true,                    data: [{                        yAxis: 0                    }, {                        yAxis: 1                    }, {                        yAxis: 2                    }, {                        yAxis: 3                    }, {                        yAxis: 4                    }]                }            }        });    }    /* 第二个图表 */    // 折线图    var bChart = echarts.init(document.getElementById("main2"));    function bFun(x_data, y_data) {        bChart.setOption({            color : [ '#3398DB' ],            tooltip : {                trigger : 'axis',                axisPointer : { // 坐标轴指示器,坐标轴触发有效                    type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'                }            },            legend : {                data : [ '心率值' ]            },            grid : {                left : '3%',                right : '20%',                bottom : '20%',                containLabel : true            },            xAxis : [ {                type : 'category',                data : x_data,            } ],            yAxis : [ { // 纵轴标尺固定                type : 'value',                scale : true,                name : '心率值',                max : 140,                min : 0,                splitNumber : 20,                boundaryGap : [ 0.2, 0.2 ]            } ],            series : [ {                name : '心率',                type : 'line',                data : y_data            } ]        }, true);    }    /* 第三个图表 */    // 折线图    var cChart = echarts.init(document.getElementById("main3"));    function cFun(x_data, y_data) {        cChart.setOption({            color : [ '#3398DB' ],            tooltip : {                trigger : 'axis',                axisPointer : { // 坐标轴指示器,坐标轴触发有效                    type : 'shadow' // 默认为直线,可选为:'line' | 'shadow'                }            },            legend : {                data : [ '呼吸值' ]            },            grid : {                left : '3%',                right : '20%',                bottom : '20%',                containLabel : true            },            xAxis : [ {                type : 'category',                data : x_data,            } ],            yAxis : [ { // 纵轴标尺固定                type : 'value',                scale : true,                name : '呼吸值',                max : 50,                min : 0,                splitNumber : 20,                boundaryGap : [ 0.2, 0.2 ]            } ],            series : [ {                name : '呼吸',                type : 'line',                data : y_data            } ]        }, true);    }                /* 第四个图表 */    // 基于准备好的dom,初始化echarts实例    var dChart = echarts.init(document.getElementById('main4'));    // 指定图表的配置项和数据    function dFun(data) {        dChart.setOption({                         tooltip: {                      /*返回需要的信息*/                      formatter: function(param) {                          var value = param.value;                          return '
' + value[0] + " 翻身" '
'; } }, xAxis: { show : false, type: 'time', name: '时间轴', }, yAxis: { type: 'value', name: '翻身', max: 9, min: 0, }, series: [{ name: '', data: data, type: 'scatter', symbolSize: 40 }] }); } $.ajax({ url : "/bison/stats/mattess/getDetail?id=" + $("#sid").val(), async : false, type : 'GET', dataType : 'json', success : function(data) { var status = data.returnData.status; status.echatX == ''?aFun("[]","[]"):aFun(status.echatX,status.echatY); var hb = data.returnData.heartBreath; if(hb.echatX == ''){ bFun("[]","[]"); cFun("[]","[]"); }else{ bFun(hb.echatX, hb.echatY); cFun(hb.echatX, hb.echatY2); } var move = data.returnData.move; dFun(move); }, });})

注:

原文作者:祈澈姑娘技术博客:

90后前端妹子,爱编程,爱运营,爱折腾。
坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,欢迎大家一起探讨交流。

关注「编程微刊」公众号 ,在微信后台回复「领取资源」,获取IT资源300G干货大全。

公众号回复“1”,拉你进程序员技术讨论群.

转载于:https://www.cnblogs.com/wangting888/p/9701234.html

你可能感兴趣的文章
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>
给C#学习者的建议 - CLR Via C# 读后感
查看>>
Recover Binary Search Tree
查看>>
Java 实践:生产者与消费者
查看>>
[转]IOCP--Socket IO模型终结篇
查看>>
各种正则验证
查看>>
观察者模式(Observer)
查看>>
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>