pchart是一個(gè)開源的圖表生成庫,主要涉及3個(gè)class:pchart.class, pdata.class, pcache.class,可生成20多種簡單或復(fù)雜的圖表,支持png,jpg,gif通用圖片格式。數(shù)據(jù)源可以來自于database,csv,當(dāng)然也可以手寫。使用該程序php需要開啟gd服務(wù),先來看看pchart的工作流程:
<?php // standard inclusions include("pchart/pdata.class"); include("pchart/pchart.class"); // dataset definition $dataset = new pdata; //圖表數(shù)據(jù) $dataset->addpoint(array(1,4,-3,2,-3,3,2,1,0,7,4),"serie1"); $dataset->addpoint(array(3,3,-4,1,-2,2,1,0,-1,6,3),"serie2"); $dataset->addpoint(array(4,1,2,-1,-4,-2,3,2,1,2,2),"serie3"); $dataset->addallseries(); $dataset->setabsciselabelserie(); //數(shù)據(jù)圖例 $dataset->setseriename("microsoft","serie1"); $dataset->setseriename("ibm","serie2"); $dataset->setseriename("google","serie3"); // initialise the graph $test = new pchart(700,230); //設(shè)置圖表尺寸、樣式 $test->setfontproperties("fonts/tahoma.ttf",8); $test->setgrapharea(50,30,680,200); $test->drawfilledroundedrectangle(7,7,693,223,5,240,240,240); $test->drawroundedrectangle(5,5,695,225,5,230,230,230); $test->drawgrapharea(255,255,255,true); $test->drawscale($dataset->getdata(),$dataset->getdatadescription(),scale_normal,150,150,150,true,0,2,true); $test->drawgrid(4,true,230,230,230,50); // draw the 0 line $test->setfontproperties("fonts/manksans.ttf",6); $test->drawtreshold(0,143,55,72,true,true); // draw the bar graph //柱狀圖要使用drawbargraph() $test->drawbargraph($dataset->getdata(),$dataset->getdatadescription(),true,80); // finish the graph //制作圖例、標(biāo)題、字體等屬性 $test->setfontproperties("fonts/manksans.ttf",10); $test->drawlegend(596,150,$dataset->getdatadescription(),255,255,255); $test->setfontproperties("fonts/manksans.ttf",10); $test->drawtitle(50,22,"example",50,50,50,585); //生成圖表 $imagefile = "example12.png"; $test->render($imagefile); echo '<img src="'.$imagefile.'">';?>這個(gè)是雷達(dá)效果的:
<?php // standard inclusions include("pchart/pdata.class"); include("pchart/pchart.class"); // dataset definition $dataset = new pdata; $dataset->addpoint(array("memory","disk","network","slots","cpu"),"label"); $dataset->addpoint(array(6,4,7,4,5),"serie1"); $dataset->addpoint(array(2,3,5,2,4),"serie2"); $dataset->addserie("serie1"); $dataset->addserie("serie2"); $dataset->setabsciselabelserie("label"); $dataset->setseriename("reference","serie1"); $dataset->setseriename("tested computer","serie2"); // initialise the graph $test = new pchart(400,400); $test->setfontproperties("fonts/tahoma.ttf",8); $test->drawfilledroundedrectangle(7,7,393,393,5,240,240,240); $test->drawroundedrectangle(5,5,395,395,5,230,230,230); $test->setgrapharea(30,30,370,370); $test->drawfilledroundedrectangle(30,30,370,370,5,255,255,255); $test->drawroundedrectangle(30,30,370,370,5,220,220,220); // draw the radar graph //要使用drawradaraxis()生成雷達(dá)效果 $test->drawradaraxis($dataset->getdata(),$dataset->getdatadescription(),true,20,120,120,120,230,230,230); $test->drawfilledradar($dataset->getdata(),$dataset->getdatadescription(),50,20); // finish the graph $test->drawlegend(15,15,$dataset->getdatadescription(),255,255,255); $test->setfontproperties("fonts/tahoma.ttf",10); $test->drawtitle(0,22,"example",50,50,50,400); $imagefile = "example8.png"; $test->render($imagefile); echo '<img src="'.$imagefile.'">';?>再看幾個(gè)其他的效果
1,餅圖:
醫(yī)療管理系統(tǒng)下載推薦 醫(yī)療管理系統(tǒng)排名服務(wù)器安全怎么做福建電信web服務(wù)器云空間域名備案報(bào)錯(cuò)-其他問題彈性云服務(wù)器搭建網(wǎng)站怎么操作租1000m云服務(wù)器多少錢一個(gè)月京東全新快遞包裝袋 可變成手提袋訪問下載慢無響應(yīng)-虛擬主機(jī)/數(shù)據(jù)庫問題