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 相关文章推荐
javascript 小型动画组件与实现代码
Jun 02 PHP
使用PHP实现二分查找算法代码分享
Jun 24 PHP
PHP常用开发函数解析之数组篇[未完结]
Jul 30 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
php中http与https跨域共享session的解决方法
Dec 20 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
php发送http请求的常用方法分析
Nov 08 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
在php的yii2框架中整合hbase库的方法
Sep 20 PHP
PHP explode()函数用法讲解
Feb 15 PHP
php面向对象程序设计入门教程
Jun 22 PHP
PHP开发API接口签名生成及验证操作示例
May 27 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安全技术之 实现php基本安全
2010/09/04 PHP
PHP运行模式的深入理解
2013/06/03 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
PHP中判断变量为空的几种方法分享
2013/08/26 PHP
PHP类与对象后期静态绑定操作实例详解
2018/12/20 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
浅谈setTimeout 与 setInterval
2015/06/23 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
JavaScript中this的用法及this在不同应用场景的作用解析
2017/04/13 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
Echarts地图添加引导线效果(labelLine)
2019/09/30 Javascript
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
[01:22:29]真视界:2019年国际邀请赛总决赛
2020/01/29 DOTA
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
django rest framework之请求与响应(详解)
2017/11/06 Python
如何使用 Pylint 来规范 Python 代码风格(来自IBM)
2018/04/06 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
英国排名第一的冲浪店:Ann’s Cottage
2020/06/21 全球购物
Java语言程序设计测试题判断题部分
2013/01/06 面试题
优秀村官事迹材料
2014/01/10 职场文书
公立医院改革实施方案
2014/03/14 职场文书
竞选学生会演讲稿
2014/04/25 职场文书
人力资源管理专业毕业生自荐书
2014/05/25 职场文书
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
创先争优活动个人总结
2015/03/04 职场文书
房屋买卖定金协议书
2016/03/21 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
Sql Server 行数据的某列值想作为字段列显示的方法
2022/04/20 SQL Server