zoukankan      html  css  js  c++  java
  • 模拟量实时显示: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>
  • 相关阅读:
    用 Python、 RabbitMQ 和 Nameko 实现微服务
    自定义Docker容器的 hostname
    ubuntu下升级R版本
    pair correlation ggpair ggmatrix
    RabbitMQ消息队列(一): Detailed Introduction 详细介绍
    ng-controller event data
    node项目换了环境node_modules各种报错
    Blast本地化
    angularjs $q、$http 处理多个异步请求
    解决angular页面值闪现问题
  • 原文地址:https://www.cnblogs.com/jimorulang/p/7301387.html
Copyright © 2011-2022 走看看