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实现框架(一)
Oct 09 PHP
Smarty模板快速入门
Jan 04 PHP
php获得当前的脚本网址
Dec 10 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
比较时间段一与时间段二是否有交集的php函数
May 31 PHP
PHP 时间日期操作实战
Aug 26 PHP
PHP中加密解密函数与DES加密解密实例
Oct 17 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
PHP空值检测函数与方法汇总
Nov 19 PHP
使用PHPWord生成word文档的方法详解
Jun 06 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 PHP
基于PHP实现生成随机水印图片
Dec 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
无线电广播与收音机发展的历史回眸
2021/03/02 无线电
IIS6.0+PHP5.x+MySQL5.x+Zend3.0x+GD+phpMyAdmin2.8x通用安装实例(已经完成)
2006/12/06 PHP
php 3行代码的分页算法(求起始页和结束页)
2009/10/21 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
jQuery中[attribute]选择器用法实例
2014/12/31 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
Html5+jQuery+CSS制作相册小记录
2016/12/30 Javascript
vue2.0实现分页组件的实例代码
2017/06/22 Javascript
详解jquery选择器的原理
2017/08/01 jQuery
ligerUI---ListBox(列表框可移动的实例)
2017/11/28 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
LayUI表格批量删除方法
2018/08/15 Javascript
Webpack之tree-starking 解析
2018/09/11 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
小程序实现上传视频功能
2020/08/18 Javascript
Django 中使用流响应处理视频的方法
2018/07/20 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
详解Django中异步任务之django-celery
2020/11/05 Python
css3 border旋转时的动画应用
2016/01/22 HTML / CSS
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
平面设计岗位职责
2013/12/14 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
致800米运动员广播稿(10篇)
2014/10/17 职场文书
群众路线教育实践活动学习笔记
2014/11/05 职场文书
公司更名通知函
2015/04/24 职场文书
失恋33天观后感
2015/06/11 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
Redis中有序集合的内部实现方式的详细介绍
2022/03/16 Redis
JavaScript架构localStorage特殊场景下二次封装操作
2022/06/21 Javascript