• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

用php+ajax+echarts.js实现统计每分钟答题曲线图

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

接着上一篇博客,除了实现统计总量外,我还用百度的echart实现了 统计答题曲线图。效果如下:http://newer.gailvlunpt.com/EntranceEducation/admin.php/Statis/index

 

 

百度echart是一个专业的花统计图,曲线图的第三方js类库。按照使用说明使用还是蛮简单的。

 

源代码如下

前端 html+js+css代码如下

  1 {__NOLAYOUT__}
  2 <!DOCTYPE html>
  3 <html>
  4 <head>
  5     <meta charset="utf-8">
  6     <!-- 引入 ECharts 文件 -->
  7     <script src="__PUBLIC__/admin/js/echarts.common.min.js"></script>
  8     <script src="__PUBLIC__/admin/js/jquery.min.js"></script>
  9 </head>
 10 <body>
 11     <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
 12     <div id="main" style="width: 1400px;height:600px;"></div>
 13     <a href="{:U('sum')}" target="_blank">实时统计平台答题总量</a>
 14 
 15 
 16 </body>
 17 </html>
 18 
 19 <script type="text/javascript">
 20 
 21 
 22 
 23 
 24 var myChart = echarts.init(document.getElementById('main'));
 25 option = {
 26     title : {
 27         text: '过去3小时答题情况',
 28         subtext: '浙江工商大学新生事业教育平台试试答题数据'
 29     },
 30     tooltip : {
 31         trigger: 'axis'
 32     },
 33     legend: {
 34         data:['过去3小时答题量']
 35     },
 36     
 37     calculable : true,
 38     xAxis : [
 39         {
 40             type : 'category',
 41             boundaryGap : false,
 42             data : []
 43         }
 44     ],
 45     yAxis : [
 46         {
 47             type : 'value',
 48             axisLabel : {
 49                 formatter: '{value}'
 50             }
 51         }
 52     ],
 53     series : [
 54         {
 55             name:'实时答题统计',
 56             type:'line',
 57             data:[],
 58         },
 59         
 60     ]
 61 };
 62 
 63 
 64  // 使用刚指定的配置项和数据显示图表。
 65 
 66 url = "{:U('Statis/data')}";
 67 myChart.setOption(option);
 68 // url = 'http://newer.gailvlunpt.com/EntranceEducation/admin.php/Statis/data';
 69 
 70 $.get(url).done(function (data) {
 71         // 填入数据
 72     myChart.setOption({
 73         xAxis: {
 74             data: data.x_data
 75         },
 76         series: [{
 77             // 根据名字对应到相应的系列
 78             data: data.y_data
 79         }]
 80     });
 81 });
 82 
 83     
 84 setInterval(function () {
 85     
 86     $.get(url).done(function (data) {
 87         // 填入数据
 88         myChart.setOption({
 89             xAxis: {
 90                 data: data.x_data
 91             },
 92             series: [{
 93                 // 根据名字对应到相应的系列
 94                 data: data.y_data
 95             }]
 96         });
 97     });
 98 
 99 }, 60000);  //一秒钟统计一次
100 
101 
102 
103 
104 
105 </script>

 

后台php代码

 1 public function data() {
 2         
 3         $now = time();
 4         // $timeArray = new array();
 5         for($i=1;$i<=180;$i++){
 6             
 7             $time = $now - 3 * 60 * 60 + 60 * $i;
 8             $timeArray[] = date('Y-m-d H:i', $time);
 9 
10             
11             $map['time']  = array('between',array(date('Y-m-d H:i', $time),date('Y-m-d H:i', $time+60)));
12             $dataArray[] = D('Exercise')->where($map)->count();
13         }
14 
15         $data = array(
16             'x_data'=>$timeArray, 
17             'y_data'=>$dataArray
18         );
19         
20         $this->ajaxReturn($data);
21     }

 

用每时间分钟作为横坐标,答题数据量作为纵坐标 画图


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP之mb_substr使用发布时间:2022-07-10
下一篇:
***PHP各种编码的汉字字符串截取发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap