萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 網路程式設計 >> PHP 程式設計

PHP JpGraph 繪製年度收支柱狀圖:安裝配置、資料綁定、中文標題防亂碼

安裝與配置

  1. 下載 JpGraph:官網 或 composer require jpgraph/jpgraph。
  2. 解壓至專案目錄(如 vendor/jpgraph)。
  3. 若不想改 php.ini,直接 require_once 'vendor/jpgraph/src/jpgraph.php' 等。

完整繪圖代碼

<?php
require_once 'jpgraph/src/jpgraph.php';
require_once 'jpgraph/src/jpgraph_bar.php';

$data  = [80, 73, 89, 43, 56, 76, 89, 96, 93, 30, 98, 78]; // 12 月資料
$xdata = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];

$graph = new Graph(600, 300);
$graph->SetScale('textlin');      // X 軸文字、Y 軸線性
$graph->SetShadow();              // 畫布陰影
$graph->img->SetMargin(40, 30, 20, 40); // 左、右、上、下邊距

$bar = new BarPlot($data);
$bar->SetFillColor('blue');       // 柱顏色
$bar->value->Show();              // 顯示數值標籤
$graph->Add($bar);

// 中文標題需 iconv 轉碼(JpGraph 內部常用 GB2312)
$graph->title->Set(iconv('UTF-8', 'GB2312//IGNORE', '***科技有限公司年度收支'));
$graph->xaxis->title->Set(iconv('UTF-8', 'GB2312//IGNORE', '月份'));
$graph->yaxis->title->Set(iconv('UTF-8', 'GB2312//IGNORE', '總金額(萬元)'));

// 字體設定(需 JpGraph 字體目錄有中文字體,如 simhei.ttf)
$graph->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->xaxis->title->SetFont(FF_SIMSUN, FS_BOLD);
$graph->yaxis->title->SetFont(FF_SIMSUN, FS_BOLD);

$graph->Stroke(); // 輸出圖片到瀏覽器

年度收支柱狀圖

中文顯示關鍵

  1. 確保 jpgraph/fonts/ 目錄有中文字體(如 simhei.ttf、simsun.ttc)。
  2. FF_SIMSUN、FF_CHINESE 等常數對應字體檔名,可在 jpgraph_ttf.inc.php 查看定義。
  3. PHP 檔案編碼為 UTF-8,輸出前用 iconv('UTF-8', 'GB2312//IGNORE', $str) 轉碼。

常見圖表類型

  • LinePlot 折線圖
  • PiePlot / PiePlot3D 圓餅圖
  • ScatterPlot 散佈圖
  • RadarPlot 雷達圖
  • Gantt 甘特圖

替代方案

現代專案建議改用前端圖表庫(ECharts、Chart.js、ApexCharts),由 PHP 輸出 JSON 資料,前端渲染,分離關注點、互動性更強。

copyright © 萬盛學電腦網 all rights reserved