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

echarts统计,简单示例

先看下效果图

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

看下代码

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

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

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

<script type="text/javascript" src="__ROOT__/Public/admin/lib/jquery/nowdatachars/echarts-all.js"></script>

下面是具体方法

<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('echart_show'));

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

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

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

                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>

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

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

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

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

关于PHP如何使用Echarts生成数据统计报表的文章就分享到这,如果对你有帮助欢迎继续关注我们哦

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/41167.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
上一篇 2022年6月20日 22:50
下一篇 2022年6月20日 22:50

相关推荐

  • nginx 504 Gateway Time-out如何处理

    今天程序在执行一项excel导出任务的时候 出现了nginx超时的提示 nginx 504 Gateway Time-out 排查过程: 查看该任务 发现内容是一个数据量20000条信息 每条信息有50个字段 在执行导出为excel的时候 出现了该问题 ...

    2018年4月13日
    0297
  • php基本语法形式及变量规则

    基本语法形式 区分大小写 主要是指变量名区分大小写 常量通常也区分,但常量也可以自己设定为不区分(不推荐) 但函数名不区分 而系统中使用的关键字也不区分大小写,比如if, else, for 语句结束符,用分号 一...

    2017年11月1日
    0199
  • 分享php 怎么引入别的文件,PHP中能否引入外部文件。

    在PHP中,我们可以使用`include`或`require`语句来引入外部文件,这两个语句的主要区别在于,如果被引入的文件不存在或者出现错误,`include`会产生一个警告,但脚本会继续执行;而`require`则会停止脚本的执行并...

    2024年6月30日
    00
  • 利用PHP8中的函数str_contains()实现快速字符串匹配。

    随着互联网的发展,字符串处理在编程中成为了一项常见的任务。针对字符串匹配问题,PHP8引入了新的函数str_contains(),该函数可以快速地返回一个字符串中是否包含指定的字串。对于需要频繁进行字符串匹配的开发...

    2023年5月21日
    06
  • PHP基础案例四:展示学生列表

    一、需求分析我们在设计学生信息管理系统时,能实现学生信息的查询。管理员在进入学生信息界面后,为了能方便的对学生的信息进行添加和删除操作,我们将学生数据信息能够在信息界面的表格中被看到。二、设计思路1...

    2022年6月25日
    0147
  • PHP如何快速实现微信小程序客服系统。

    随着微信小程序的快速发展,越来越多的企业开始在微信平台上布局,借助小程序来实现更多的业务拓展和用户服务。而在小程序营销的过程中,良好的客服服务是至关重要的一环。如何快速实现微信小程序客服系统,成为...

    2023年6月3日
    06
  • 如何访问成员属性

    如何访问成员属性 类名的规范说明 类名不区分大小写. 类名命名规范 关于函数,变量,常量,接口等等的命名规范,请参考手册. 对象传递方式(重点, 难点) 先请大家看一段代码,从而引起思考 注意当 对象传递方式是 ...

    2018年4月9日
    0192
  • PHP8中的新函数:array_key_first()的新技巧。

    随着Web应用程序的不断发展,PHP作为一种可靠且易于使用的编程语言在开发Web应用程序方面变得越来越流行。在PHP8中,开发人员将受到一个新的函数array_key_first()的欢迎,这个函数可以帮助他们更轻松地访问数组...

    2023年5月21日
    01

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息