ECharts+PHP+MySQ+ Ajax 实现图表绘制

1、下载echarts插件,下载地址:http://echarts.baidu.com/

2、具体入门案例就不啰嗦了,参考官方教程:http://echarts.baidu.com/tutorial.html

3、前台引入echarts和jquery,ajax请求相应的json数据

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="__ROOT__/Public/jquery-1.10.2.min.js"></script>
    <script src="__ROOT__/Public/echarts.common.min.js"></script>
</head>
<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 1200px;height:400px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById(‘main‘));
        // 指定图表的配置项和数据
        var date = [],num = [];
        function getNumber(){
            $.ajax({
                url:"__CONTROLLER__/getRegister",
                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);
                        }
                    }
                }
            });
        };
        getNumber();
    option = {
    title: {
        text: ‘近期注册走势‘
    },
    tooltip: {
        trigger: ‘axis‘
    },
    legend: {
        data:[‘注册数‘]
    },
    grid: {
        left: ‘3%‘,
        right: ‘4%‘,
        bottom: ‘3%‘,
        containLabel: true
    },
    toolbox: {
        feature: {
            saveAsImage: {}
        }
    },
    xAxis: {
        type: ‘category‘,
        boundaryGap: false,
        data: date
    },
    yAxis: {
        type: ‘value‘
    },
    series: [
        {
            name:‘注册数‘,
            type:‘line‘,
            stack: ‘总量‘,
            data:num
        },
    ]
};
        // 使用刚指定的配置项和数据显示图表。
        myChart.setOption(option);
    </script>
</body>
</html>

4、后台接口返回json数据

public function getRegister(){
        $user = D(‘User‘);
        $beginLastweek=strtotime(‘-30 days‘);
        //两周前的时间戳
        $begin = strtotime(date(‘Y-m-d‘,$beginLastweek));
        $result = $user->field("register_time")->where("register_time > ‘%s‘",$begin)->select();
        $sql = "SELECT FROM_UNIXTIME( register_time, ‘%Y-%m-%d‘ ) AS date,count(*) as count FROM app_user WHERE register_time > $beginLastweek GROUP BY register_time div 86400;";
        $result = $user->query($sql);
        $this->ajaxReturn(array(‘code‘=>200,‘result‘=>$result));
    }

显示效果:

    

时间: 2024-09-30 18:30:39

ECharts+PHP+MySQ+ Ajax 实现图表绘制的相关文章

JAVA平台开放图表绘制类库——JFreeChart

好的东西要分享要推荐,这里向大家推荐一个java平台下的一个开源图表绘制类库JFreeChart,相关资源(源代码.demo源码.开发指南)已经上传至CSDN资源,需要的可以自行下载. JFreeChart的图表绘制功能非常强大,涵盖了几乎所有想的到的图表,并且绘制效果还很炫酷.来看下JFreeChart的主要效果图: 之前都是用excel绘制的图表,还要调整很多属性之类的东西,觉得很麻烦,所以就全部模块化实现了,代码就不贴出来了. JFreeChart相关资源下载地址:http://downl

利用python实现网卡流量图表绘制!!!

项目背景: 利用python实现一个自动化的网卡流量图表绘制,这对于我们实现自动化运维平台有更深入的理解, 也会让我们对于现有的一些监控软件的一些实现都有很大的帮助. 实现环境: 虚拟机VMware Workstation 12 player 服务器:centos6.5的系统  ip:192.168.0.25 python2.6.6 rrdtool模块.time模块.psutil模块. SecureCRT ssh远程连接软件 实验过程: 思路其实很清醒:创建rrd数据库---->数据写入rrd数

Android 图表绘制 achartengine 示例解析

作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38420197 一. AChartEngine 简介 1. 项目地址 AChartEngine 简介 : AChartEngine 是 Android 平台的图表开发库, 能绘制 折线图, 饼图, 气泡图, 柱状图, 散点图, 面积图等统计图表; 最新版本 : 1.1.0 版本; AChartEngine 地址 : https://code.google.co

GraphView-Demos超简单图表绘制

GraphView-Demos超简单图表绘制 绘制数据的曲线图和柱状图的类库,图标支持滑动和缩放.还可绘制实时动态变化的曲线图或者柱状图.  下载地址:http://www.devstore.cn/code/info/868.html  运行截图:     

使用Echarts的时候ajax第二次请求的时候,图表会等待请求完成后才刷新出来

在使用echarts图表的时候,选完条件后,ajax请求的过程中,因为请求的事件快慢的原因,导致图表会消失,给人的体验感贼差(虽然可以通过类似"信息加载中.."来处理), 查看自己的代码中发现了原因:var myChart1 = echarts.init(document.getElementById('app1'));这句代码放在了function中,导致每次请求的时候每次都会声明一个 mychart1的对象,导致图形页面有一段时间(请求的时间)的不显示: 页面展示如下: 部分代码如

ECharts, PHP, MySQL, Ajax, JQuery 实现前后端数据可视化

ECharts 下载js代码 工作原理浅析 在项目中引入ECharts 后台处理 数据库端MySQL PHP端 JQuery Ajax处理 ECharts 端处理 前端全部代码 演示结果 总结 最近要将后台数据库上的一些数据以可视化的方法显示到前端,找来找去,发现百度开发的这套图表工具库还不错,网上搜索了一下相关的教程,也算是实现了较为简单的demo.于是写下来,记录一下. ECharts ECharts是国人开发的一套前端的图表工具库,使用起来超方便,也很简单(当然了,前提是理解了其工作原理之

Echarts同一页面多个图表自适应浏览器窗口大小——window.onresize

当前做的一个项目中,频繁使用到百度团队的Echarts,发在一个页面同时出现多个图表时,只有最后一个图表触发了window.onresize事件,查询官方文档后得到解决. 方法如下: hwChart.setOption(option_hw); swChart.setOption(option_sw); setTimeout(function (){ window.onresize = function () { hwChart.resize(); swChart.resize(); } },20

Chart.js | HTML5 图表绘制工具库(知识整理、中文注释、中文文档)

Chart.js:用不同的方式让你的数据变得可视化.每种类型的图表都有动画效果,并且看上去非常棒,即便是在retina屏幕上.基于HTML5 canvas技术,Chart.js不依赖任何外部工具库,轻量级(压缩之后仅有4.5k).值得推荐学习! GitHub源码: https://github.com/nnnick/Chart.js Chart.js文档:http://www.bootcss.com/p/chart.js/ 步骤: html部分: <canvas id="myChart&q

Python图表绘制:matplotlib绘图库入门

matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序.因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定. 在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高.