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读写csv格式的文件

    读取csv格式文件function read_csv($file){ setlocale(LC_ALL,'zh_CN');//linux系统下生效 $data = null;//返回的文件数据行 if(!is_file($file)&&!file_exists($file)) { die('文件错误�…

    2022年6月27日
    0208
  • 一文了解PHP中的进程和进程间通信

    本篇文章带大家了解一下PHP中的进程和进程间通信。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。环境php中的进程是以扩展的形式来完成。通过这些扩展,我们能够很轻松的完成进程的一系列动作…

    2023年3月29日
    00
  • php实现签到功能的方法实例分析(附代码)

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

    2018年3月10日
    0236
  • PHP绘图坐标体系

    在编程世界中坐标体系和我们上学时数学里面的坐标体系不一样的。坐标越往右,值就越大,坐标越往下,值就越大。可以通过下面的图来简单理解一下。

    2018年8月31日
    0230
  • PHP8.0中的JIT编译器对性能的提升

    随着现代化科技的发展,计算机处理速度的要求越来越高,程序员们也在不断地探索提升程序性能的方法。作为一门广泛应用的编程语言,PHP在不断优化和升级中也加入了JIT编译器,这一举措在探索PHP性能提升的道路中起到…

    2023年5月19日
    04
  • PHP中的RPC。

    近年来,随着互联网技术的迅猛发展,分布式系统逐渐成为了互联网应用领域中不可缺少的部分。而分布式系统中的RPC技术则是实现不同进程、不同机器之间通讯的重要手段之一。其中,PHP中的RPC技术也逐渐成为了各大互联…

    2023年5月30日
    01
  • PHP生成缩略图的方法实例(附代码)

    生成缩略图需要用到如下代码: $source_path:原图的路径 $NewImagePath:生成缩略图路径 $target_width:缩略图宽度 $target_height:缩略图高度 详细代码如下:  

    2018年2月28日
    0202
  • php如何使用Behat进行BDD测试。

    Behat是一种基于行为驱动开发(BDD)的测试框架,主要用于测试PHP应用程序的功能和行为。Behat不仅可以使测试更加简单、可读和可维护,同时也非常容易集成到各种PHP框架中。在本文中,我们将介绍Behat的基本概念和语…

    2023年6月3日
    03

联系我们

QQ:951076433

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