PHP 畫圖——使用jpgraph畫圖

來源:互聯網
上載者:User

標籤:漢字   gb2312   font   theme   pie   資料   lin   pos   new   

??1.要支援中文須要用到simhei.ttf和simsun.ttc這兩個字型,在使用中文的時候須要使用SetFont(FF_SIMSUN,FS_BOLD)設定字型。將須要的字型放入到專案檔夾下的src\fonts\檔案夾裡在jpgraph.php中有下面這樣一段代碼是設定字型檔路徑的//// Setup path for western/latin TTF fonts//if (!defined(‘TTF_DIR‘)) {    if (strstr( PHP_OS, ‘WIN‘) ) {        $sroot = getenv(‘SystemRoot‘);        if( empty($sroot) ) {            $t = new ErrMsgText();            $msg = $t->Get(12,$file,$lineno);            die($msg);        }        else {            define(‘TTF_DIR‘, $sroot.‘/fonts/‘);        }    } else {        define(‘TTF_DIR‘,‘/usr/share/fonts/truetype/‘);    }} 2.須要注意的是:要想適用jpgraph,你的PHP必須開啟了GD2擴充。



假設是在window下首先須要改動檔案的路徑
改動jpgraph_ttf.inc.php檔案$jpgraph_font_dir = dirname(__FILE__).‘\\fonts\\‘;//改動字型的路徑從原來的/fonts/ 改為 \\fonts\\假設沒改動在windows下會報以下的錯誤
解決中文問題:假設你的檔案編碼為utf-8,改動方法例如以下 方法一:找到        elseif( $aFF === FF_SIMSUN) {            // Do Chinese conversion            if( $this->g2312 == null ) {                include_once ‘jpgraph_gb2312.php‘ ;                $this->g2312 = new GB2312toUTF8();            }            return $this->g2312->gb2utf8($aTxt);        }改動為        elseif( $aFF === FF_SIMSUN) {            // Do Chinese conversion            /*            if( $this->g2312 == null ) {                include_once ‘jpgraph_gb2312.php‘ ;                $this->g2312 = new GB2312toUTF8();            }            return $this->g2312->gb2utf8($aTxt);            */         return $aTxt;        } 方法二:在程式中改動$title="流量圖";
$title = iconv("UTF-8", "gb2312", $title);
$graph->title->Set($title);
註:jpgraph預設顯示漢字時是把漢字編碼覺得gb2312,轉化為utf-8以後再顯示。


這種話,假設你的檔案編碼是gb2312,SetFont方法的第一個參數為FF_SIMSUN就可以。


假設你是utf-8編碼你還須要先把漢字編碼轉化為gb2312。這樣你的漢字才幹夠正常顯示。



代碼例如以下:



<?php/** * 使用jpgraph產生3D餅圖 * */include ‘src/jpgraph.php‘;include ‘src/jpgraph_pie.php‘;include ‘src/jpgraph_pie3d.php‘;//引用3D餅圖pieplot3D對象所在的類檔案

$result = array(5,8,11,1,1,1);$vote_content = array("張三","麗麗","lili","張三","麗麗","lili");$title = ‘標題‘;
$graph = new PieGraph(500,245);//建立映像$graph->SetShadow();//建立映像陰影$graph->tabtitle->SetFont(FF_SIMSUN,FS_BOLD,14);//設定標題字型$graph->tabtitle->Set($title);//輸出標題$graph->title->SetColor("darkblue");//定義標題顏色

$p1 = new PiePlot3D($result);//建立映像//$p1->SetTheme("water");//控製圖像的顏色//$p1->SetCenter(0.4);//設定映像位置//$p1->SetSize(0.4);//設定映像的大小//$p1->SetHeight(20);//設定餅圖的高度//$p1->SetAngle(45);//設定映像的傾斜角度//$p1->Explode(array(5,40,10,30,20));//控制餅圖的切割//$p1->value->SetFont(FF_SIMSUN,FS_BOLD,20);//設定字型/* 凝視文字 */$p1->SetLegends($vote_content);$graph->legend->SetFont(FF_SIMSUN,FS_BOLD);//設定凝視文字字型$graph->legend->Pos(0.05,0.3,"right","center");//控制凝視文字的位置$graph->legend->SetShadow();//邊界$graph->legend->SetLayout(LEGEND_VERT);//設定圖例樣式和位置
$graph->Add($p1);//加入資料$graph->Stroke();//產生映像

PHP 畫圖——使用jpgraph畫圖

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.