2015年5月24日 星期日

pChart 的使用方法整理(五)進階長條圖(Bar Chart)

進階的長條圖 與基礎長條圖有以下不同

1、數據由 1 組變為 2 組
2、設定橫座標名稱
3、加入背景色,讓預設為白色的格線顯示
4、加上標題
5、加上圖例說明
6、指定刻度的最大及最小值



程式碼如下:
// 引用相關類別檔
include("class/pDraw.class.php");
include("class/pImage.class.php");
include("class/pData.class.php");

// 建立資料集物件
$myData = new pData();

// 在資料集中新增資料
// 設定第1個縱座標(Y軸)的資列數列
$myData->addPoints(array(150,220,300,250,420), "台北");
// 設定第2個縱座標(Y軸)的資列數列 -- New-1
$myData->addPoints(array(250,210,500,150,320), "高雄");
// 設定縱座標(Y軸)的名稱
$myData->setAxisName(0,"雨量");
// 新增一筆資料數列,並命名為 Months
$myData->addPoints(array("一月","二月","三月","四月","五月"),"Months");
// 將 Months 設定為橫座標
$myData->setAbscissa("Months");
// 設定橫座標名稱 -- New-2
$myData->setAbscissaName("月份");

// 建立一個圖形物件,設立它的尺寸及相關的資料集
$myPicture = new pImage(600,400,$myData);

// 指定圖形中使用的字型和字體大小
$myPicture->setFontProperties(array("FontName"=>"fonts/NotoSansCJKtc-Regular.otf","FontSize"=>12));

// 加上背景色,讓預設的白色格線顯示 -- New-3
$backgroundSettings = array("R"=>120, "G"=>133, "B"=>63);
$myPicture->drawFilledRectangle(0,0,600,400,$backgroundSettings);

// 畫出圖表的外框
$myPicture->drawRectangle(0,0,599,399,array("R"=>0,"G"=>0,"B"=>0));

// 設定圖表在圖形中的位置
$myPicture->setGraphArea(60,80,550,330);

// 加上標題 -- New-4
$myPicture->drawText(280,55,"累計雨量統計圖",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));

// 加上圖例說明 -- New-5
$myPicture->drawLegend(400,60,array("Style"=>LEGEND_NOBORDER,"Mode"=>LEGEND_HORIZONTAL));

// 畫出刻度,並設定刻度的最大及最小值 -- New-6
$axisBoundaries = array(0=>array("Min"=>0,"Max"=>550));
$scaleSettings  = array("Mode"=>SCALE_MODE_MANUAL,"ManualScale"=>$axisBoundaries);
$myPicture->drawScale($scaleSettings);

// 設定長條圖的相關設定,在這個例子中,是顯示數值
$settings = array("DisplayValues"=>TRUE);

// 畫出長條圖
$myPicture->drawBarChart($settings);

// 如果我們要將生成的 png 存檔,可以用以下的方式;如果只想單純顯示,此行可省略
$myPicture->render('example_05.png');

// 將圖形輸出到瀏覽器
$myPicture->autoOutput();





相關連結:

沒有留言: