Echarts教程之通过Ajax实现动态加载折线图的方法

 更新时间:2018年04月11日 10:00:23   作者:alex_fung  
这篇文章主要介绍了Echarts教程之通过Ajax实现动态加载折线图的方法,需要的朋友可以参考下

一、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> 

三、后台代码

List<List<Integer>> hotlineList = new ArrayList<List<Integer>>(); 
@RequestMapping("/m/hotline.do") 
@ResponseBody 
public JSONArray hotline() { 
  List<List<Integer>> returnList = new ArrayList<List<Integer>>(); 
  if (hotlineList.size() == 0 || hotlineList.get(0).size() >= 9) { 
    hotlineList.clear(); 
    for (int i = 0; i < 4; i++) { 
      List<Integer> l = new ArrayList<Integer>(); 
      l.add(i * 5 + AlexUtils.getRandomInteger(0, 5)); 
      hotlineList.add(l); 
    } 
  } 
  for (int i = 0; i < hotlineList.size(); i++) { 
    List<Integer> 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实现动态加载折线图的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 空格或者空白字符导致$.ajax()报parseerror错误小结

    空格或者空白字符导致$.ajax()报parseerror错误小结

    这篇文章主要介绍了空格或者空白字符导致$.ajax()报parseerror错误,需要的朋友可以参考下
    2014-04-04
  • Ajax初试之读取数据篇

    Ajax初试之读取数据篇

    上次我们讲了"ajax开始准备篇",做好了基本的ajax准备工作以后.我们开始牛刀小试一下:ajax初试之读取数据篇.是的,今天我们要实现的效果是.在不刷新网页的情况下读取并显示服务端的数据.
    2010-08-08
  • 用ajax实现预览链接可以看到链接的内容

    用ajax实现预览链接可以看到链接的内容

    用CSS设置预览弹出窗口的样式、用JavaScript进行服务器请求并且显示弹出窗口,需要的朋友可以参考下
    2014-08-08
  • asp简单的ajax留言板(采用三层模式)

    asp简单的ajax留言板(采用三层模式)

    asp简单的ajax留言板(采用三层模式)...
    2006-10-10
  • ajax三级联动下拉菜单效果

    ajax三级联动下拉菜单效果

    这篇文章主要为大家详细介绍了ajax三级联动下拉菜单的相关资料,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • jQuery Ajax 实例详解 ($.ajax、$.post、$.get)

    jQuery Ajax 实例详解 ($.ajax、$.post、$.get)

    本文给大家分享jquery ajax实例文章,由于jquery在异步提交方面封装的非常好,直接用ajax非常麻烦,jquery大大简化了我们的操作,不用考虑浏览器的问题了。对jquery ajax实例相关介绍感兴趣的朋友一起学习吧
    2015-11-11
  • AJAX跨域问题解决方案详解

    AJAX跨域问题解决方案详解

    从刚接触前端开发起,跨域这个词就一直以很高的频率在身边重复出现,一直到现在,已经调试过N个跨域相关的问题了,这篇文章主要介绍了AJAX跨域问题的解决方案
    2022-08-08
  • Ajax实现登录案例

    Ajax实现登录案例

    这篇文章主要为大家详细介绍了Ajax实现登录案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • 让ajax更加友好的实现方法(实时显示后台处理进度。)

    让ajax更加友好的实现方法(实时显示后台处理进度。)

    我们能否让ajax更加友好点,实时显示服务器处理的进度了?这在一些长时间的请求中尤其重要,比如上传文件、发送邮件、批量处理数据。
    2010-06-06
  • ajax 技术和原理分析

    ajax 技术和原理分析

    大家都知道ajax并非一种新的技术,而是几种原有技术的结合体。它由下列技术组合而成。
    2010-04-04

最新评论