pchart是乙個開源的圖表生成庫,主要涉及3個class:pdata.class.php、pdraw.class.php、pimage.class.php,可生成20多種簡單或複雜的圖表,支援png,jpg,gif通用格式。
thinkphp3.2匯入pchart很簡單,只需將pchart檔案複製到thinkphp的library就可以了。具體操作:將pchart解壓,解壓後的資料夾pchart整體複製到thinkphp/library/org/util/路徑下。
在thinkphp控制器加入一下三行import語句,程式就可以呼叫pchart類。注意:例項化時物件名前加「\"。
import("org.util.pchart.class.pdraw");
import("org.util.pchart.class.pimage");
import("org.util.pchart.class.pdata");
$pimage=new \pimage($width,$height,$pdata);
pdata.class.php、pdraw.class.php、pimage.class.php在pchart\class\路徑下。
下面寫乙個例子:生成一張走勢圖
定義常量:
define("width",512);
define("imgchart",common_path."img/basic.png");
public function index()
private function pimg()'")->order('pdate')->field('pdate,price')->select();
$retarr=array();
$meanarr=array();
$sum=0;
foreach($rarr as $r)
}//計算移動平均值
$priceslist=array_column($retarr,'price');
$datearr=array_column($retarr,'pdate');
$xdate=array();
$firstxvalue=substr($datearr[0],2,5);
$secondxvalue=nextmonth($firstxvalue);
$i=0;
foreach($datearr as $v)
else
} else
} $mydata=new \pdata();
$mydata->addpoints($priceslist,'price');
$mydata->addpoints($xdate,'pdate');
$mydata->setaxisname('price',"price of metal");
$mydata->setabscissa("pdate");
$mydata->setpalette("price",array("r"=>100,"g"=>138,"b"=>179));
$mydata->setaxiscolor(0,array("r"=>100,"g"=>90,"b"=>79));
$mydata->setserieweight("price",0.5);
$mypicture=new \pimage(width,232,$mydata);//高度232
$mypicture->setgrapharea(48,52,width-25,192);
$mypicture->setfontproperties(array("fontname"=>common_path."img/txzhj-w3.ttf","fontsize"=>12));
$scaleformat=array(
"labelingmethod"=>labeling_different,
"skippedtickalpha"=>0,
"gridr"=>180,
"gridg"=>180,
"gridb"=>180,
"gridticks"=>0,
"skippedaxisalpha"=>0,
"drawxlines"=>false,
);$mypicture->drawscale($scaleformat);
$mypicture->setfontproperties(array("fontname"=>common_path."img","fontsize"=>14));
$mypicture->drawsplinechart(array(
"voidticks"=>0,
"displaycolor"=>display_manual,
));$mypicture->render(imgchart);
}
執行結果:
ThinkPHP3 2 驗證隨記
自動完成 靜態方式 在模型類裡面通過 auto屬性定義處理規則。動態方式 使用模型類的auto方法動態建立自動處理規則。自動驗證 靜態方式 在模型類裡面通過 validate屬性定義驗證規則。動態方式 使用模型類的validate方法動態建立自動驗證規則。定義格式為 array array 驗證欄位...
THINKPHP3 2命名空間
thinkphp3.2命名空間 3.2版本全面採用命名空間方式定義和載入類庫檔案,有效的解決多個模組之間的衝突問題,並且實現了更加高效的類庫自動載入機制。由於新版完全採用了命名空間的特性,因此只需要給類庫正確定義所在的命名空間,而命名空間的路徑與類庫檔案的目錄一致,那麼就可以實現類的自動載入。例如,...
ThinkPHP3 2 搭載環境
thinkphp是乙個快速 簡單的基於mvc和物件導向的輕量級php開發框架 預設情況下當你執行index.php時只有home模組,如果你需要建立其他模組時需要在入口檔案 index.php 中定義 define bind module admin 繫結入口到admin模組訪問 bind modu...