Maison  >  Article  >  développement back-end  >  Explication détaillée de l'utilisation d'Echarts pour générer des rapports statistiques avec PHP

Explication détaillée de l'utilisation d'Echarts pour générer des rapports statistiques avec PHP

小云云
小云云original
2018-05-25 15:38:338037parcourir

Cet article présente principalement le code d'implémentation de PHP utilisant Echarts pour générer des rapports statistiques de données. J'espère que cela pourra aider tout le monde.

Statistiques echarts, exemple simple

Regardez d'abord les rendus

Regardez le code

La page HTML est ECharts Préparez un Dom avec une largeur et une hauteur personnalisées

<p class="panel panel-info">
  <p class="panel-body">
    <p id="echart_show" style="height:500px"></p>
  </p>
</p>

fichier js Vous pouvez vous référer au site officiel, ou le télécharger ici et présenter

2b60f49ad8d806ed00cc06f7aa018ab02cacc6d41bbb37262a98f745aa00fbf0

Ce qui suit est la méthode spécifique

<script type="text/javascript">

  var date = [],num = [];
  $(document).ready(function () {
    // 绘制反馈量图形
    var init_echarts = function () {
      var refreshChart = function (show_data) {
        my_demo_chart = echarts.init(document.getElementById(&#39;echart_show&#39;));

        my_demo_chart.showLoading({
          text: &#39;加载中...&#39;,
          effect: &#39;whirling&#39;
        });

        var echarts_all_option = {
          title: {
            text: &#39;&#39;,
            subtext: &#39;用户走势&#39;
          },
          tooltip: {
            trigger: &#39;axis&#39;
          },
          legend: {
            data: [&#39;用户数&#39;, &#39;用户消耗&#39;]
          },
          toolbox: {
            show: true,
            feature: {
              mark: {show: true},
              dataView: {show: true, readOnly: false},
              magicType: {show: true, type: [&#39;line&#39;, &#39;bar&#39;]},
              restore: {show: true},
              saveAsImage: {show: true}
//              myTool2: {
//                show: true,
//                title: &#39;自定义扩展方法&#39;,
//                icon: &#39;image://http://echarts.baidu.com/images/favicon.png&#39;,
//                onclick: function (){
//                  alert(&#39;自定义&#39;)
//                }
//              }
            }
          },
          dataZoom: {
            show: false,
            start: 0,
            end: 100
          },
          xAxis: [
            {
              type: &#39;category&#39;,
              boundaryGap: true,
              data: show_data[1]
            },
            {
              type: &#39;category&#39;,
              boundaryGap: true,
              data: show_data[1]
            }
          ],
          yAxis: [
            {
              type: &#39;value&#39;,
              scale: true,
              name: &#39;用户数&#39;,
              boundaryGap: [0, 0.5]
//              boundaryGap: [0.2, 0.2]
            },
            {
              type: &#39;value&#39;,
              scale: true,
              name: &#39;用户数&#39;,
              boundaryGap: [0, 0.5]
            }
          ],
          series: [
            {
              name: &#39;用户消耗&#39;,
              type: &#39;bar&#39;,
              xAxisIndex: 1,
              data: show_data[0]
            },
            {
              name: &#39;用户数&#39;,
              type: &#39;line&#39;,
              xAxisIndex: 1,
              data:show_data[0]
            }
          ]
        };
        my_demo_chart.hideLoading();
        my_demo_chart.setOption(echarts_all_option);
      };

      // 获取原始数据
      $.ajax({
        url:"__CONTROLLER__/getRes",
        async:false,
        dataType:&#39;json&#39;,
        type:&#39;post&#39;,

        success:function(msg){
          var result = msg.result;
          if(msg.code == 200){
            for(var i = 0 ; i < result.length; i++){
              date.push(result[i].date);
              num.push(result[i].count);
              msg[0] = num;
              msg[1] = date;
              refreshChart(msg);
            }
          }
        }
      });
    };

    // 默认加载
    var default_load = (function () {
      init_echarts();
    })();
  });


</script>

Recherchez les données dont vous avez besoin dans le contrôleur (la date et la quantité correspondante interrogées ici)

//折线统计
  public function getRes(){
    $user = M(&#39;account&#39;);
    $sql = "SELECT date(createTime) AS date,count(*) as count FROM t_account GROUP BY date ";
    $result = $user->query($sql);
    $this->ajaxReturn(array(&#39;code&#39;=>200,&#39;result&#39;=>$result));
  }

À ce stade, un simple tableau statistique echarts apparaît

Si vous ne comprenez pas certains paramètres dans les echarts, vous pouvez vous référer au site officiel Documentation Echarts

Recommandations associées :

Explication détaillée de la posture correcte d'utilisation des Echarts dans les composants React

HTML5, JS, JQuery, ECharts Chargement asynchrone

ECharts3 pour implémenter le fonctionnement des données dynamiques + axe temporel

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn