前回のブログに引き続き、統計集計の実装に加えて、Baiduのechartを利用して統計回答曲線図も実装してみました。効果は次のとおりです。 http://newer.gailvlunpt.com/EntranceEducation/admin.php/Statis/index
Baidu echart は、花の統計チャートと曲線用のプロフェッショナルなサードパーティ JS ライブラリです。チャート。説明書に従って使用するのは非常に簡単です。
ソースコードは次のとおりです
フロントエンドのhtml+js+cssのコードは次のとおりです
{__NOLAYOUT__} <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- 引入 ECharts 文件 --> <script src="__PUBLIC__/admin/js/echarts.common.min.js"></script> <script src="__PUBLIC__/admin/js/jquery.min.js"></script> </head> <body> <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM --> <p id="main" style="width: 1400px;height:600px;"></p> <a href="{:U('sum')}" target="_blank">实时统计平台答题总量</a> </body> </html> <script type="text/javascript"> var myChart = echarts.init(document.getElementById('main')); option = { title : { text: '过去3小时答题情况', subtext: '浙江工商大学新生事业教育平台试试答题数据' }, tooltip : { trigger: 'axis' }, legend: { data:['过去3小时答题量'] }, calculable : true, xAxis : [ { type : 'category', boundaryGap : false, data : [] } ], yAxis : [ { type : 'value', axisLabel : { formatter: '{value}' } } ], series : [ { name:'实时答题统计', type:'line', data:[], }, ] }; // 使用刚指定的配置项和数据显示图表。 url = "{:U('Statis/data')}"; myChart.setOption(option); // url = 'http://newer.gailvlunpt.com/EntranceEducation/admin.php/Statis/data'; $.get(url).done(function (data) { // 填入数据 myChart.setOption({ xAxis: { data: data.x_data }, series: [{ // 根据名字对应到相应的系列 data: data.y_data }] }); }); setInterval(function () { $.get(url).done(function (data) { // 填入数据 myChart.setOption({ xAxis: { data: data.x_data }, series: [{ // 根据名字对应到相应的系列 data: data.y_data }] }); }); }, 60000); //一秒钟统计一次 </script>
バックエンドのphpコード
public function data() { $now = time(); // $timeArray = new array(); for($i=1;$i<=180;$i++){ $time = $now - 3 * 60 * 60 + 60 * $i; $timeArray[] = date('Y-m-d H:i', $time); $map['time'] = array('between',array(date('Y-m-d H:i', $time),date('Y-m-d H:i', $time+60))); $dataArray[] = D('Exercise')->where($map)->count(); } $data = array( 'x_data'=>$timeArray, 'y_data'=>$dataArray ); $this->ajaxReturn($data); }
横軸として時間あたりの分を使用し、回答データ量を縦軸としてグラフを描きます
以上がphp+ajax+echarts.js を使用して、1 分あたりの統計的回答曲線グラフを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。