模拟量实时显示:2个grid+ajax后台数据实时更新显示

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <meta charset="utf-8">
    <title>广兰路电压模拟量显示</title>
    <!-- 引入 echarts.js -->
    <script src="js/echarts.common.min.js"></script>
    <script src="js/jquery-1.8.3.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:100%;100%;margin:0 auto"></div>
    
    
    <script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
       var myChart = echarts.init(document.getElementById('main'));  
       
       
 option = {
 
 
    title: {       
        text: '广兰路继电器模拟量实时显示图',
        //left:'7%',
        //top:'5%',
        bottom:5,
        x:'center',
    },
    
    
    tooltip: {//提示框组件
        trigger: 'axis',  //坐标轴触发
        axisPointer:{
           type:'cross',  //指示器类型,十字准星指示器(两个正交的轴)
        }
    },
    
    
    legend: [
    {            //图例组件,展示不同系列标记,颜色和名字
        show:true,
        data:['上行使能电压','上行开门电压','上行锁闭电压','下行使能电压','下行开门电压','下行锁闭电压'],
        x:'center',
        //bottom:10,
       // left:'80px',
    },{
        show:true,
        data:['上行使能电流','上行开门电流','上行锁闭电流','下行使能电流','下行开门电流','下行锁闭电流'],
        x:'center',
    }],
    
    
    grid:[          //设置了2个grid组件
    {
        left: '3%',//grid组件离容器左侧的距离
        right: '3%',
        height:'35%',  
        containLabel: true  //是否显示坐标轴的刻度标签
    },{
        left: '3%',//grid组件离容器左侧的距离
        right: '3%',
        height:'35%',  
        top:'55%',
        containLabel: true  //是否显示坐标轴的刻度标签
    
    }],
    
    
    toolbox: {            //工具栏
        feature: {
            saveAsImage: {}
        }
    },
    
    
     dataZoom: [       //区域缩放组件,位于grid容器的最下方
                 {
                     show:true,
                     //type: 'inside',    //支持单独的滑动条缩放
                     realtime:true,
                     start: 50,            //默认数据初始缩放范围为10%到90%
                     end: 70,
                     xAxisIndex:[0,1],
                     
                 },
                 {
                     show:true,
                     type: 'inside',    //支持单独的滑动条缩放
                     realtime:true,
                     start: 50,            //默认数据初始缩放范围为10%到90%
                     end: 70,
                     xAxisIndex:[0,1],
                 }
            ],
            
            
            
    xAxis: [
    {
        type: 'category',             //坐标轴类别,类目轴,适用于离散的类目数据,通过data设置类目数据
        boundaryGap: false,          //此处设置为false,影响第一个和最后一个数据点的显示,坐标轴两边留白策略
        data: [],
    },{
        gridIndex:1,                 //表示是第二个grid的X轴
        type: 'category',
        boundaryGap: false,
        data: [],
        //position:'top',
    }],
    
    
    yAxis:[
    {
        gridIndex:0,
        name:'电压值',
        type: 'value'//数值轴,用于连续数据 
    },{
        gridIndex:1,
        name:'电流值',
        type: 'value'//数值轴,用于连续数据 
    
     }], 
    series: [
        {
            name:'上行使能电压',
            type:'line',
            xAxisIndex:0,
            yAxisIndex:0,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        },
        {
            name:'上行开门电压',
            type:'line',
            xAxisIndex:0,
            yAxisIndex:0,
            hoverAnimation: false,
           // stack: '总量',
            data:[]
        },
        {
            name:'上行锁闭电压',
            type:'line',
            xAxisIndex:0,
            yAxisIndex:0,
            hoverAnimation: false,
            //stack: '总量',
            data:[]
        },
        {
            name:'下行使能电压',
            type:'line',
            xAxisIndex:0,
            yAxisIndex:0,
            hoverAnimation: false,
            //stack: '总量',
            data:[]
        },
        {
            name:'下行开门电压',
            type:'line',
            xAxisIndex:0,
            yAxisIndex:0,
            hoverAnimation: false,
            //stack: '总量',
            data:[]
        },
        {
            name:'下行锁闭电压',
            type:'line',
            xAxisIndex:0,
            yAxisIndex:0,
            hoverAnimation: false,
            //stack: '总量',
            data:[]
        },
        {
            name:'上行使能电流',
            type:'line',
            xAxisIndex:1,
            yAxisIndex:1,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        },
         {
            name:'上行开门电流',
            type:'line',
            xAxisIndex:1,
            yAxisIndex:1,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        },
         {
            name:'上行锁闭电流',
            type:'line',
            xAxisIndex:1,
            yAxisIndex:1,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        },
         {
            name:'下行使能电流',
            type:'line',
            xAxisIndex:1,
            yAxisIndex:1,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        },
         {
            name:'下行开门电流',
            type:'line',
            xAxisIndex:1,
            yAxisIndex:1,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        },
         {
            name:'下行锁闭电流',
            type:'line',
            xAxisIndex:1,
            yAxisIndex:1,
            hoverAnimation: false,     //是否开启hover在拐点标志上的提示动画效果
            //stack: '总量',
            data:[]
        }
    ]  //这个中括号是series的结束括号
};

    
      
    
      
       $(document).ready(function(){
       setInterval("getNewData()",5000);
      
         })
      function getNewData(){  
      
      
      var upenablevol =[];//上行使能电压数组
      var upopenvol   =[];//上行开门电压数组
      var uplockingvol=[];//上行门锁闭电压数组    
      var downenablvol=[];//下行门使能电压数组
      var downopenvol =[];//下行开门电压数组
      var downlockvol =[];//下行门锁闭电压数组     
      
      var upenabelcur=[];//电流
      var upopencur=[];
      var uplockingcur=[];
      var downenablecur =[];
      var downopencur=[];
      var downlockingcur =[];
      
      var dates =[];//当前系统时间
      
      
       $.ajax({    //使用JQuery内置的Ajax方法
         type : "post",        //post请求方式
         async : true,        //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)
         url : "GuangLanRoadUpVoltageServlet",    //请求发送到   GuangLanRoadUpVoltageServlet    处
         dataType : "json",        //返回数据形式为json
         cache:false,
         success : function(result) {
             //请求成功时执行该函数内容,result即为服务器返回的json对象
             //debugger;
             if (result != null && result.length > 0) {
                    for(var i=0;i<result.length;i++ ){       
                       upenablevol.push(result[i].upenablevoltage);   //挨个取出电压电流等数组
                       upopenvol.push(result[i].upopenvoltage);
                       uplockingvol.push(result[i].uplockingvoltage); 
                       downenablvol.push(result[i].downenablevoltage);
                       downopenvol.push(result[i].downopenvoltage);
                       downlockvol.push(result[i].downlockingvoltage);
                       
                       upenabelcur.push(result[i].upenablecurrent);
                       upopencur.push(result[i].upopencurrent);
                       uplockingcur.push(result[i].uplockingcurrent);
                       downenablecur.push(result[i].downenablecurrent);
                       downopencur.push(result[i].downopencurrent);
                       downlockingcur.push(result[i].downlockingcurrent);
                      
                       dates.push(result[i].currenttimestr);//填入X轴的数据
                    }
                     
                    myChart.setOption({        //载入数据
                    
                        xAxis: [
                        {
                            data: dates,  //填入X轴数据,
                        },{
                            gridIndex:1,
                            data: dates,   //填入X轴数据,
                        }],
                        
                        series: [                          //填入系列(内容)数据
                               {                                   
                                    name: '上行使能电压',  // 根据名字对应到相应的系列
                                    xAxisIndex:0,
                                    yAxisIndex:0,
                                    data: upenablevol,
                                },
                                      {
                                    name: '上行锁闭电压',
                                    xAxisIndex:0,
                                    yAxisIndex:0,
                                    data: uplockingvol,
                                },
                                    {
                                    name:'上行开门电压',
                                    xAxisIndex:0,
                                    yAxisIndex:0,
                                    data: upopenvol,
                                },
                                    {
                                    name:'下行门使能电压',
                                    xAxisIndex:0,
                                    yAxisIndex:0,
                                    data: downenablvol,
                                },
                                    {
                                    name:'下行锁闭电压',
                                    xAxisIndex:0,
                                    yAxisIndex:0,
                                    data: downlockvol,
                               },
                                {
                                    name:'下行开门电压',
                                    xAxisIndex:0,
                                    yAxisIndex:0,
                                    data: downopenvol,
                               },
                               
                               
                               
                               {
                                    name:'上行使能电流',
                                    xAxisIndex:1,
                                    yAxisIndex:1,
                                    data:upenabelcur ,
                               },
                               {
                                    name:'上行开门电流',
                                    xAxisIndex:1,
                                    yAxisIndex:1,
                                    data:upopencur ,
                               },
                               {
                                    name:'上行锁闭电流',
                                    xAxisIndex:1,
                                    yAxisIndex:1,
                                    data:uplockingcur,
                               },
                               {
                                    name:'下行使能电流',
                                    xAxisIndex:1,
                                    yAxisIndex:1,
                                    data:downenablecur,
                               },
                               {
                                    name:'下行开门电流',
                                    xAxisIndex:1,
                                    yAxisIndex:1,
                                    data:downopencur,
                               },
                               {
                                    name:'下行锁闭电流',
                                    xAxisIndex:1,
                                    yAxisIndex:1,
                                    data:downlockingcur,
                               },
                       ]
                    });
                     
             }
             else {
                 //返回的数据为空时显示提示信息
                 alert("图表请求数据为空,您可以稍后再试!");
                 // myChart.hideLoading();
             }
          
        },
           })
        
 }//function getnewdata 的结束
 // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
  </script>  
    
    
    
  
</body>
</html>
原文地址:https://www.cnblogs.com/jimorulang/p/7301387.html