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)
php学习php学习订阅用户
上一篇 2022年6月20日 22:50
下一篇 2022年6月20日 22:50

相关推荐

  • 示例PHP购物车类Cart.class.php定义与用法

    本文实例讲述了PHP购物车类Cart.class.php定义与用法。分享给大家供大家参考,具体如下:之前的开发人员使用了JS的技术开发了一套前台购物车(删除添加什么的都使用JS),但是浏览器兼容不好, 今天终于出问题了, 有个…

    2022年6月11日
    0131
  • PHP图像处理技术应用-验证码的使用

    验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意…

    2018年9月6日
    0360
  • PHP与Elasticsearch的集成

    PHP与Elasticsearch的集成随着大数据和数据挖掘的发展,搜索引擎已经成为了我们生活中必不可少的工具。而Elasticsearch就是一个快速、开放、可扩展的搜索和分析引擎,它能够轻松地进行全文检索、数据分析和实时数据…

    2023年5月19日
    01
  • PHP+JavaScript实现刷新继续保持倒计时的按钮

    场景:发送一个验证码到手机,当验证码发出时,会提示隔 1 分钟之后可以再次发送。通常有这几种方式防止恶意请求,一是再次发送之前需要输入验证码,二是在指定的时间间隔之内不能再次发送。有些网站在 1 分钟的间…

    2022年6月23日 PHP自学教程
    0147
  • PHP实现Redis数据库分片的方法。

    Redis是一款高性能的NoSQL数据库,而分片是一种常用的数据分布式处理方法,可以提高数据库的性能和扩展性。本文将介绍如何使用PHP实现Redis数据库分片。Redis分片概述Redis分片是将一个大的Redis数据库拆分成多个较…

    2023年5月21日
    02
  • PHP入门指南:Laravel框架。

    在当今的互联网时代,网站开发是一个异常火热的行业,而PHP语言则成为了众多程序员的首选开发语言之一。PHP语言的开源性质让它在开发社区中迅速流行,并逐渐形成了一些优秀的PHP框架。其中,Laravel框架就是一款颇…

    2023年5月22日
    02
  • PHP中如何进行智能音乐和音频处理。

    随着音乐产业的不断发展和普及,音乐制作和音频处理的需求也日益增多。而PHP作为一种高度可扩展的编程语言,已经不仅仅局限于Web开发领域,还能用于音乐和音频的处理。本文将介绍如何使用PHP进行智能音乐和音频处理…

    2023年5月23日
    02
  • php实现签到功能的方法实例分析(附代码)

    今天来学习下php实现签到功能的方法。代码我也分享给大家供大家参考,具体如下: 首先我在数据库里建了两张表,一个是用户的积分表,一个是签到状态表,分来用来记录用户的积分数和先到状态 在用户签到状态表中我们有…

    2018年3月10日
    0238

联系我们

QQ:951076433

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