本文實例講述了Ajax+Jpgraph實現的動態折線圖功能。分享給大家供大家參考,具體如下:
一 代碼
fun.js:
var i=1; function progress(){ setInterval("beginProgress()", 600); } function beginProgress(){ $("#img").attr("src", "img.php?m="+i); i++; if(i>=12){ i=1; } }
index.php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>Ajax+Jpgraph制作動態折線圖</title> </head> <script language="javascript" src="js/jquery-1.3.2.js"></script> <script language="javascript" src="js/fun.js"></script> <body> <img id="img" src="img.php?m=0" /> <br> <input type="button" value="開始" onclick="progress()"/> </body> </html>
img.php:
<?php require_once 'src/jpgraph.php'; //導入Jpgraph類庫 require_once 'src/jpgraph_line.php'; //導入Jpgraph類庫的柱狀圖功能 $dataTmp = array(56, 78, 34, 65, 89, 24 ,67 ,88, 45, 68, 70, 50); //設置統計數據 $data1 = array(0, 0, 0, 0, 0, 0 ,0 ,0, 0, 0, 0, 0); //設置統計數據 $m = $_GET['m']; for($i=0; $i<$m; $i++){ $data1[$i] = $dataTmp[$i]; } $graph = new Graph(500, 320); $graph->SetScale("textlin"); $graph->SetShadow(); $graph->img->SetMargin(40, 30, 30, 70); $graph->title->Set("圖書銷售走勢表"); $lineplot1 = new LinePlot($data1); $graph->Add($lineplot1); $graph->xaxis->title->Set("月份"); $graph->yaxis->title->Set("book A銷售金額(萬元)"); $graph->title->SetFont(FF_SIMSUN, FS_BOLD); $graph->yaxis->title->SetFont(FF_SIMSUN, FS_BOLD); $graph->xaxis->title->SetFont(FF_SIMSUN, FS_BOLD); $lineplot1->SetColor('red'); $lineplot1->SetLegend('book A'); $graph->legend->SetLayout(LEGEND_HOR); $graph->legend->Pos(0.4, 0.95, 'center', 'bottom'); $graph->Stroke();
二 運行結果
希望本文所述對大家PHP程序設計有所幫助。