PHP によるグラフィックスの生成 (Libchart) example_PHP チュートリアル
統計グラフィックスはよく見るデータグラフィックスです。3つの配列をグラフィックスで表示したり、不動産をグラフィックスで表示したりする場合に、必要なときに非常に便利なphp LIbchartグラフィック生成クラスを紹介します。それに。
単純な整数または英語の場合は、次のクラスを直接使用できます(libchartクラスはBaiduからダウンロードできます)
/*
更新 by Leo
シートの画像を描画し、画像上のすべての数値を取得します。
*/
require "./libchart/classes/libchart.php";
class drawPic{
var $chart;
var $style;
functiondrawPic($style="1",$width="500",$height="250"){
$this->style=$style;
if($style==1){
//cylinder
$this->chart = newverticalbarchart($width,$height);
}else if($style==2){
//line
$this->chart = new LineChart($width,$height);
}else if($style==3){
//Lump
$this->chart = new PieChart($width,$height);
}else{
//cross
$this->chart=new horizontalBarchart($width,$height);
}
}
functiondraw($obj){
if($this->style==1||$this->style=="1"){
//cylinder
$dataSet = new XYDataSet() ;
$ this->chart->setTitle($obj->title);//title
$arr=array();
$arr=$obj->dataArray;
foreach($arr as $key => ; $val){
$dataSet->addPoint ( new Point($key,$val)) ;
}
$this->chart->setDataSet ( $dataSet ) ;
$this->chart->render();
}else if($this->style==2||$this->style=="2"){
//line
$this ->chart->setTitle($obj->title);//title
$arr=array();
$arr=$obj->dataArray;
$i=0;
$dataSet = new XYSeriesDataSet();
foreach($arr as $key => $val){
$serie{$i}= new XYDataSet();
foreach($val as $k => $v){
$serie {$i}->addPoint(new Point($k,$v));
}
$dataSet->addSerie($key,$serie{$i});
$i=$i+1;
}
$this->chart->setDataSet($dataSet);
$this->chart->render();
}else if($style==3){
//Lump
$ dataSet = new XYDataSet() ;
$this->chart->setTitle($obj->title);//title
$arr=array();
$arr=$obj->dataArray;
foreach($arr as $key =>$val){
$dataSet->addPoint ( new Point($key."($val)",$val)) ;
}
$this->chart- >setDataSet ( $dataSet ) ;
$this->chart->render();
}else{
//cross
$dataSet = new XYDataSet();
$this->chart->setTitle($obj->title) ;//title
$arr=array();
$arr=$obj->dataArray;
foreach($arr as $key => $val){
$dataSet->addPoint ( new Point($ key,$val)) ;
}
$this->chart->setDataSet($dataSet);
$this->chart->render();
}
}
}
class kkk{};
$n=newdrawPic("4");//1 または 2 または 3 または4
$k=new kkk();
$k->dataArray=array("2000"=>"30","2001"=>"40","2002"=>"50", "2003"=>"60","2004"=>"70","2005"=>"80","20020"=>"90");//style==1 または style= 2 または style=4
//$k->dataArray=array("2000"=>"30","2001"=>"40","2002"=>"50","2003" =>"60","2004"=>"70","2005"=>"80","20020"=>"90");//style==3
//$k- >dataArray=array("yi"=>array("2000"=>"30","2001"=>"40","2002"=>"50","2004"=>> "60"),"er"=>array("2003"=>"60","2004"=>"70","2005"=>"80","20020"=>" 90"),"san"=>array("33"=>"12","45"=>"56","89"=>"45","86"=>"49 "));//style==2 と、ブロックする最初の配列が年によって表示されます。(2000 2001 2002 2004 が表示されます)
$k->title="シート タイトル";
$n->描画($k);
?>
赤い文字は通話です。メソッド 1、2、および 4 は同じ配列です。図 3 は線グラフです。比較のために 2 つの線または複数の線が存在する場合があります (単一の線の場合もあります)。
中国語を使用したい場合は、libchart の中国語の文字が文字化けすることがあります。解決策は次のとおりです。 アプリケーションの主なソース コードは次のとおりです。
require_once ('libchart/classes/libchart .php');
$chart = newverticalbarchart(500, 250) // パラメータは作成される画像の幅と高さを表します
$dataSet = new XYDataSet(); / XY 軸データオブジェクトをインスタンス化します
// このオブジェクトに 4 つのデータ セットを追加します。 Point オブジェクトの最初のパラメーターは X 軸座標を表します。
// 2 番目のパラメーターは Y 軸座標を表します
$str = 'April';
$str = mb_convert_encoding( $str, "html-entities","utf-8" );
$dataSet -> addPoint ( new Point( "$str" , 120 )) ;
$dataSet -> ( "March 2005" , 442 )) ;
$dataSet -> addPoint ( new Point( "April 2005" , 600 )) ;
// このデータセットをグラフィックオブジェクトに渡します
$chart -> dataSet ) ;
// グラフのタイトルを設定し、PNG ファイルとしてレンダリングします
$chart -> setTitle ( "Statistical Chart" ) ;
//$chart -> render ( "demo/generated/demo1; .png" ) ;
// ここにパスとファイル名が必要です
// 非常にシンプルで、下の図のような美しいヒストグラムが表示されます
$chart -> render () ;
?>
2. タイトルが文字化けします:
デフォルトの中国語表示が文字化けするのは、次の変更を加えます:
まず、libchar/libchart/classes/view/chart/Chart.php を変更して、次の内容を見つけます。
コードをコピーします
。
コードは次のとおりです:
public function setTitle($title) {
3. libchart クラス ディレクトリの text.php ファイルを変更します
47 行目と 48 行目
コードをコピーします
コードは次のとおりです:
$ this->fontCondensed = dirname(__FILE__) . "/../fonts/DejaVuSansCondensed.ttf";
$this->fontCondensedBold = dirname(__FILE__) . ./fonts/DejaVuSansCondensed-Bold.ttf";
コードは次のとおりです:
$this->fontCondensed = dirname(__FILE__) . "/.. /fonts/あなたが見つけた中国語フォント";
$this- >fontCondensedBold = dirname(__FILE__) . "/../fonts/あなたが見つけた中国語フォント";
コードをコピーします
コードは次のとおりです:
public function Text() {
$baseDir = dirname(__FILE__) "/../../../" ;
FANGZHENGFANGSONG.ttf このファイルは私が見つけた方正模倣宋簡体字フォントに中国語名を変更したものですが、変更しなくても大丈夫です。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

PHPロギングは、Webアプリケーションの監視とデバッグ、および重要なイベント、エラー、ランタイムの動作をキャプチャするために不可欠です。システムのパフォーマンスに関する貴重な洞察を提供し、問題の特定に役立ち、より速いトラブルシューティングをサポートします

Laravelのサービスコンテナとサービスプロバイダーは、そのアーキテクチャの基本です。 この記事では、サービスコンテナ、詳細サービスプロバイダーの作成、登録、および実用的な使用法を例で説明します。 Oveから始めます

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。
