php实现动态统计,php+highchats生成动态统计图

. 代码如下:

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

}

. 代码如下:

FusionCharts

$(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}: {point.percentage:.1f}%'

},

plotOptions: {

pie: {

allowPointSelect: true,

cursor: 'pointer',

dataLabels: {

enabled: true,

color: '#000000',

connectorColor: '#000000',

formatter: function() {

return ''+ this.point.name +': '+ this.percentage +' %';

}

}

}

},

series: [{

type: 'pie',

name: 'Browser share',

data: ds,

}]

});

});

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);

}

?>

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

. 代码如下:

$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: [

                      ds[2], ds[3]

                  ]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值