PHP如何使用Echarts生成数据统计报表

 3728

echarts统计,简单示例,先看下效果图


5f964ca359499.jpg

看下代码

HTML页面 为ECharts准备一个Dom,宽高自定义

  1. <div class="panel panel-info">
  2.   <div class="panel-body">
  3.     <div id="echart_show" style="height:500px"></div>
  4.   </div>
  5. </div>

js文件可以参考官网,或者在这里下载,引入

  1. <script type="text/javascript" src="路径/lib/jquery/nowdatachars/echarts-all.js"></script>

下面是具体方法

  1. <script type="text/javascript">
  2. var date = [],num = [];
  3. $(document).ready(function () {
  4.     // 绘制反馈量图形
  5.     var init_echarts = function () {
  6.         var refreshChart = function (show_data) {
  7.             my_demo_chart = echarts.init(document.getElementById('echart_show'));
  8.             my_demo_chart.showLoading({
  9.                 text: '加载中...',
  10.                 effect: 'whirling'
  11.             });
  12.             var echarts_all_option = {
  13.                 title: {
  14.                     text: '',
  15.                     subtext: '用户走势'
  16.                 },
  17.                 tooltip: {
  18.                     trigger: 'axis'
  19.                 },
  20.                 legend: {
  21.                     data: ['用户数', '用户消耗']
  22.                 },
  23.                 toolbox: {
  24.                     show: true,
  25.                     feature: {
  26.                         mark: {show: true},
  27.                         dataView: {show: true, readOnly: false},
  28.                         magicType: {show: true, type: ['line', 'bar']},
  29.                         restore: {show: true},
  30.                         saveAsImage: {show: true}
  31.                         // myTool2: {
  32.                         //     show: true,
  33.                         //     title: '自定义扩展方法',
  34.                         //     icon: 'image://http://echarts.baidu.com/images/favicon.png',
  35.                         //     onclick: function (){
  36.                         //         alert('自定义')
  37.                         //     }
  38.                         // }
  39.                     }
  40.                 },
  41.                 dataZoom: {
  42.                     show: false,
  43.                     start: 0,
  44.                     end: 100
  45.                 },
  46.                 xAxis: [
  47.                     {
  48.                         type: 'category',
  49.                         boundaryGap: true,
  50.                         data: show_data[1]
  51.                     },
  52.                     {
  53.                         type: 'category',
  54.                         boundaryGap: true,
  55.                         data: show_data[1]
  56.                     }
  57.                 ],
  58.                 yAxis: [
  59.                     {
  60.                         type: 'value',
  61.                         scale: true,
  62.                         name: '用户数',
  63.                         boundaryGap: [0, 0.5]
  64.                         // boundaryGap: [0.2, 0.2]
  65.                     },
  66.                     {
  67.                         type: 'value',
  68.                         scale: true,
  69.                         name: '用户数',
  70.                         boundaryGap: [0, 0.5]
  71.                     }
  72.                 ],
  73.                 series: [
  74.                     {
  75.                         name: '用户消耗',
  76.                         type: 'bar',
  77.                         xAxisIndex: 1,
  78.                         data: show_data[0]
  79.                     },
  80.                     {
  81.                         name: '用户数',
  82.                         type: 'line',
  83.                         xAxisIndex: 1,
  84.                         data:show_data[0]
  85.                     }
  86.                 ]
  87.             };
  88.             my_demo_chart.hideLoading();
  89.             my_demo_chart.setOption(echarts_all_option);
  90.         }; 
  91.         // 获取原始数据
  92.         $.ajax({
  93.             url:"__CONTROLLER__/getRes",
  94.             async:false,
  95.             dataType:'json',
  96.             type:'post',
  97.             success:function(msg){
  98.                 var result = msg.result;
  99.                 if(msg.code == 200){
  100.                     for(var i = 0 ; i < result.length; i++){
  101.                         date.push(result[i].date);
  102.                         num.push(result[i].count);
  103.                         msg[0] = num;
  104.                         msg[1] = date;
  105.                         refreshChart(msg);
  106.                     }
  107.                 }
  108.             }
  109.         });
  110.     };
  111.     // 默认加载
  112.     var default_load = (function () {
  113.         init_echarts();
  114.     })();
  115. });
  116. </script>

控制器中查询自己需要的数据 (这里查询的日期和对应的数量)

  1. //折线统计
  2. public function getRes(){
  3.     $user = M('account');
  4.     $sql = "SELECT date(createTime) AS date,count(*) as count FROM t_account  GROUP BY date ";
  5.     $result = $user->query($sql);
  6.     $this->ajaxReturn(array('code'=>200,'result'=>$result));
  7. }

至此,一个简单的echarts的统计图就出来了

对echarts中一些参数不太理解的,大家可以参考官网 https://www.echartsjs.com/option.html#title




本文网址:https://www.zztuku.com/index.php/detail-7972.html
站长图库 - PHP如何使用Echarts生成数据统计报表
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐