php+highchats生成动态统计图


Posted in PHP onMay 21, 2014
    series: [{  
                type: 'pie',  
                name: 'Browser share',  
                data: [  
                    ['Firefox',   45.0],  
                    ['IE',       26.8],  
                    {  
                        name: 'Chrome',  
                        y: 12.8,  
                        sliced: true,  
                        selected: true  
                    },  
                    ['Safari',    8.5],  
                    ['Opera',     6.2],  
                    ['Others',   0.7]  
                ]  
            }] 

主要看这段:

    {  
    name: 'Chrome',  
    y: 12.8,  
    sliced: true,  
    selected: true  
    } 
    <!DOCTYPE HTML>  
    <html>  
        <head>  
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8">  
            <title>FusionCharts</title>  
            <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>  
            <script type="text/javascript">  
    $(function () {  
    var ds = [{"name":"\u4e0a\u6d77","y":28.2},{"name":"\u5317\u4eac","y":48.2},{"name":"\u5e7f\u4e1c","y":18.2}];  
    //其实只要按照例子中的json显示方式展示就行了,如chrome。  
            // Radialize the colors  
            Highcharts.getOptions().colors = Highcharts.map(Highcharts.getOptions().colors, function(color) {  
                return {  
                    radialGradient: { cx: 0.5, cy: 0.3, r: 0.7 },  
                    stops: [  
                        [0, color],  
                        [1, Highcharts.Color(color).brighten(-0.3).get('rgb')] // darken  
                    ]  
                };  
            });  
            // Build the chart  
            $('#container').highcharts({  
                chart: {  
                    plotBackgroundColor: null,  
                    plotBorderWidth: null,  
                    plotShadow: false  
                },  
                title: {  
                    text: 'Browser market shares at a specific website, 2010'  
                },  
                tooltip: {  
                    pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'  
                },  
                plotOptions: {  
                    pie: {  
                        allowPointSelect: true,  
                        cursor: 'pointer',  
                        dataLabels: {  
                            enabled: true,  
                            color: '#000000',  
                            connectorColor: '#000000',  
                            formatter: function() {  
                                return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';  
                            }  
                        }  
                    }  
                },  
                series: [{  
                    type: 'pie',  
                    name: 'Browser share',  
                    data: ds,  
                }]  
            });  
        });  
            </script>  
        </head>  
        <body>  
    <script src="js/hc.js"></script>  
    <script src="js/modules/exporting.js"></script>  
    <div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>  
    <?php  
    area();  
    /**  
     * 地区接口  
     * name名称  
     * y数据值  
     *   
     */  
    function area()  
    {  
        $b = array(  
                    array('name'=>'上海', 'y'=>28.2),  
                    array('name'=>'北京', 'y'=>48.2),  
                    array('name'=>'广东', 'y'=>18.2),  
            );  
        $data = json_encode($b);  
        echo($data);  
    }  
    ?>  
        </body>  
    </html> 

以下是php输出json数据,供js使用:

<?php   
$strs = @file("/proc/net/dev");   
for ($i = 2; $i < count($strs); $i++ )  
{  
    preg_match_all( "/([^\s]+):[\s]{0,}(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/", $strs[$i], $info );  
/*  $NetInput[$i] = formatsize($info[2][0]); 
    $NetOut[$i]  = formatsize($info[10][0]); 
*/   
    $tmo = round($info[2][0]/1024/1024, 5);   
    $tmo2 = round($tmo / 1024, 5);  
    $NetInput[$i] = $tmo2;  
    $tmp = round($info[10][0]/1024/1024, 5);   
    $tmp2 = round($tmp / 1024, 5);  
    $NetOut[$i] = $tmp2;  }  
$arr = array();  
if (false !== ($strs = @file("/proc/net/dev"))) :   
 for ($i = 2; $i < count($strs); $i++ ) :    
 preg_match_all( "/([^\s]+):[\s]{0,}(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/", $strs[$i], $info );  
    $arr[$i]["name"] = $info[1][0];  
    $arr[$i]["data"][0] = $NetInput[$i];  
    $arr[$i]["data"][1] = $NetOut[$i];  
 endfor;    
 endif;    
echo(json_encode($arr)); 
?>

输出:

{"2":{"name":"lo","data":[0,0]},"3":{"name":"eth0","data":[0.40377,0.00353]}}

js调用:

    series: [  
    <span style="white-space:pre">                      </span>ds[2], ds[3]  
    <span style="white-space:pre">                  </span>] 
PHP 相关文章推荐
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 PHP
php生成随机密码的几种方法
Jan 17 PHP
ThinkPHP CURD方法之data方法详解
Jun 18 PHP
PHP框架Swoole定时器Timer特性分析
Aug 19 PHP
php使用ob_start()实现图片存入变量的方法
Nov 14 PHP
PHP stream_context_create()函数的使用示例
May 12 PHP
php+redis实现商城秒杀功能
Nov 19 PHP
PHP cURL获取微信公众号access_token的实例
Apr 28 PHP
PHP的PDO大对象(LOBs)
Jan 27 PHP
laravel使用Faker数据填充的实现方法
Apr 12 PHP
YII2框架中查询生成器Query()的使用方法示例
Mar 18 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
Mar 09 PHP
PhpDocumentor 2安装以及生成API文档的方法
May 21 #PHP
Smarty模板学习笔记之Smarty简介
May 20 #PHP
php实例分享之mysql数据备份
May 19 #PHP
dedecms函数分享之获取某一栏目所有子栏目
May 19 #PHP
ECMall支持SSL连接邮件服务器的配置方法详解
May 19 #PHP
PHP小技巧之JS和CSS优化工具Minify的使用方法
May 19 #PHP
php开启openssl的方法
May 15 #PHP
You might like
php数组的一些常见操作汇总
2011/07/17 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
2012/09/05 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
2013/11/07 PHP
php解析url的三个示例
2014/01/20 PHP
PHP引用(&amp;)各种使用方法实例详解
2014/03/20 PHP
PHP获取二维数组中某一列的值集合
2015/12/25 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
2011/09/22 Javascript
jquery插件制作 自增长输入框实现代码
2012/08/17 jQuery
AJAX跨域请求json数据的实现方法
2013/11/11 Javascript
js Date概念详细介绍
2013/11/22 Javascript
jQuery实现左右切换焦点图
2015/04/03 Javascript
基于jQuery实现音乐播放试听列表
2016/04/14 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
微信小程序向Java后台传输参数的方法实现
2020/12/10 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Python内置函数OCT详解
2016/11/09 Python
Python性能提升之延迟初始化
2016/12/04 Python
python安装dlib库报错问题及解决方法
2020/03/16 Python
使用python+poco+夜神模拟器进行自动化测试实例
2020/04/23 Python
Calzedonia美国官网:意大利风格袜子、打底裤和沙滩装
2018/07/19 全球购物
六一儿童节活动策划方案
2014/01/27 职场文书
本科毕业生专业自荐书范文
2014/02/05 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
2014年度安全工作总结
2014/12/04 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
网聊搭讪开场白
2015/05/28 职场文书
2019学子的答谢词范本!
2019/07/05 职场文书
使用JS实现简易计算器
2021/06/14 Javascript
vue elementUI表格控制对应列
2022/04/13 Vue.js