• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Echarts教程之通过Ajax实现动态加载折线图的方法
    POST TIME:2021-10-18 05:55

    一、GIF图

    二、前台代码

    // 调用方法 
    hotlineLine(); 
    // 定时刷新 
    setInterval(function () { 
      hotlineLine(); 
    },5000); 
    function hotlineLine(){ 
      // 初始化图表元素 
      var hotlineLine = echarts.init(document.getElementById('hotlineLine_id')); 
      $.get('${pageContext.request.getContextPath()}/m/hotline.do', function (res) { 
        var option = { 
          // 提示框组件,鼠标经过饼图时会出现提示框 
          tooltip: { 
            // 触发类型 
            // 坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用。 
            trigger: 'axis' 
          }, 
          // 每条折线的颜色 
          color: ['#87CEFA', '#9AFF9A', '#C0FF3E','#DB7093'], 
          // 图例组件 
          legend: { 
            // 内容 
            data:['呼入', '呼出', '应答', '用户放弃'], 
            // 样式 
            textStyle:{ 
                fontSize:10, 
                color:'#66ffff' 
              }, 
            // 上距离,类似css中的margin 
            top:'5%' 
          }, 
          // 网格 
          grid: { 
            // 左距离 
            left: '7%', 
            right: '5%', 
            bottom: '10%', 
            top:'20%' 
          }, 
          // 横坐标 
          xAxis: { 
            // 类型 
            type: 'category', 
            // 刻度 
            data: ['08:00', '10:00', '12:00', '14:00', '16:00', '18:00', '20:00', '22:00', '24:00'], 
            // 样式 
            axisLine:{ 
              // 横坐标线的颜色 
              lineStyle:{ 
                color:'#66ffff' 
              } 
            } 
          }, 
          yAxis: { 
            type: 'value', 
            name: '次数', 
            axisLabel: { 
              formatter: '{value}' 
            }, 
            axisLine:{ 
              lineStyle:{ 
                color:'#66ffff' 
              } 
            }, 
            splitLine:{ 
              show: true, 
              lineStyle:{ 
                color:'#66ffff' 
              } 
            } 
          }, 
          series: [ 
               { 
                 name:'呼入', 
                 type:'line', 
                 data:res[3] 
               }, 
               { 
                 name:'呼出', 
                 type:'line', 
                 data:res[2] 
               }, 
               { 
                 name:'应答', 
                 type:'line', 
                 data:res[1] 
               }, 
               { 
                 name:'用户放弃', 
                 type:'line', 
                 data:res[0] 
               } 
            ], 
            // 文本标签 
            label: {  
              //是否展示  
              show: true, 
              position: 'top', 
              textStyle: {  
                fontWeight:'bolder',  
                fontSize : '12',  
                fontFamily : '微软雅黑',  
                color:defaultColor 
              }  
            } 
        }; 
        hotlineLine.setOption(option); 
      }); 
    } 
    div class="rightMain01-sub03 box-border"> 
      div class="box-title">话务指标趋势图/div> 
      div class="rightMain01-sub03-data"> 
        div id="hotlineLine_id" style="height:340px;">/div> 
      /div> 
    /div> 

    三、后台代码

    ListListInteger>> hotlineList = new ArrayListListInteger>>(); 
    @RequestMapping("/m/hotline.do") 
    @ResponseBody 
    public JSONArray hotline() { 
      ListListInteger>> returnList = new ArrayListListInteger>>(); 
      if (hotlineList.size() == 0 || hotlineList.get(0).size() >= 9) { 
        hotlineList.clear(); 
        for (int i = 0; i  4; i++) { 
          ListInteger> l = new ArrayListInteger>(); 
          l.add(i * 5 + AlexUtils.getRandomInteger(0, 5)); 
          hotlineList.add(l); 
        } 
      } 
      for (int i = 0; i  hotlineList.size(); i++) { 
        ListInteger> list = hotlineList.get(i); 
        int thisSize = list.size(); 
        if (thisSize  5) { 
          list.add(list.get(thisSize - 1) + AlexUtils.getRandomInteger(1, 5)); 
        } else { 
          list.add(list.get(thisSize - 1) - AlexUtils.getRandomInteger(1, 5)); 
        } 
        returnList.add(list); 
      } 
      hotlineList = returnList; 
      return JSONArray.fromObject(returnList); 
    } 
    public static int getRandomInteger(int min, int max) { 
      int diff = max - min; 
      return min + new Random().nextInt(diff); 
    } 

    数据格式:

    1.[[1,3,4,5,7],[6,9,11,12,13],[10,11,12,13,16],[16,19,21,22,24]] 

    总结

    以上所述是小编给大家介绍的Echarts教程之通过Ajax实现动态加载折线图的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    您可能感兴趣的文章:
    • 微信小程序使用echarts获取数据并生成折线图
    • 使用laravel和ECharts实现折线图效果的例子
    • Layer+Echarts构建弹出层折线图的方法
    • echarts多条折线图动态分层的实现方法
    • Echarts动态加载多条折线图的实现代码
    • 基于mpvue小程序使用echarts画折线图的方法示例
    • vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
    • jQuery插件echarts实现的单折线图效果示例【附demo源码下载】
    • jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
    • jQuery插件echarts设置折线图中折线线条颜色和折线点颜色的方法
    • echarts实现折线图的拖拽效果
    上一篇:ajax中设置contentType: application/json的作用
    下一篇:简单实现ajax拖拽上传文件
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信