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和ACCESS写聊天室(三)
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
php下删除字符串中HTML标签的函数
Aug 27 PHP
php下封装较好的数字分页方法
Nov 23 PHP
php判断输入不超过mysql的varchar字段的长度范围
Jun 24 PHP
PHP中file_exists与is_file,is_dir的区别介绍
Sep 12 PHP
PHP图片上传代码
Nov 04 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
php中的依赖注入实例详解
Aug 14 PHP
laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例
Feb 18 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
PHP的开合式多级菜单程序
2006/10/09 PHP
php session和cookie使用说明
2010/04/07 PHP
PHP调用JAVA的WebService简单实例
2014/03/11 PHP
学习php设计模式 php实现门面模式(Facade)
2015/12/07 PHP
yii2简单使用less代替css示例
2017/03/10 PHP
详解php协程知识点
2018/09/21 PHP
PHP设计模式之观察者模式定义与用法分析
2019/04/04 PHP
jQuery基础知识filter()和find()实例说明
2010/07/06 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
jQuery搜索同辈元素方法
2015/02/10 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
JavaScript实现仿淘宝商品购买数量的增减效果
2016/01/22 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
seajs中最常用的7个功能、配置示例
2017/10/10 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
小程序多图列表实现性能优化的方法步骤
2019/05/28 Javascript
AngularJS动态生成select下拉框的方法实例
2019/11/17 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
Python判断变量是否已经定义的方法
2014/08/18 Python
为python设置socket代理的方法
2015/01/14 Python
详解Python2.x中对Unicode编码的使用
2015/04/03 Python
python读取图片任意范围区域
2019/01/23 Python
Python 3.8 新功能全解
2019/07/25 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
利用python+request通过接口实现人员通行记录上传功能
2021/01/13 Python
Nuts.com:优质散装,批发坚果、干果和巧克力等
2017/03/21 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
高中生学习生活的自我评价
2013/11/27 职场文书
商场总经理岗位职责
2014/02/03 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
幼儿园六一儿童节活动方案
2014/08/26 职场文书
离婚协议书范本2014
2014/10/27 职场文书