如果你是一個后端開發人員,并且PHP是你技術堆棧的一部分,那么你會發現本教程非常有用。在這篇文章中,我將講解如何一步一步使用PHP,FusionCharts的核心JavaScript圖表庫,以及它的PHP圖表包裝程序創建漂亮的圖表。
下面就是我們今天要完成的目標圖表
有四個步驟:
- 步驟0:準備數據
- 步驟1:引用JS和PHP文件
- 步驟2:創建圖表對象
- 步驟3:渲染圖表
步驟0:準備數據
由于需要在計劃對數據可視化之前,先準備好數據,所以我叫這一步為步驟0,而非步驟-1。
FusionCharts既理解XML,也理解JSON數據格式,不過在本教程中,我們只用JSON。我們將通過轉換以下數據為FusionCharts認可的JSON鍵值來啟動我們的教程。
月份 | 收入 |
Oct | 490000 |
Nov | 900000 |
Dec | 730000 |
下面是上述數據的JSON表示:
[ {"label": "Oct", "value": "490000"}, {"label": "Nov", "value": "900000"}, {"label": "Dec", "value": "730000"} ]
我們將使用上述數據繪制條形圖,并格式化我們的行為。對于其他圖表類型,可能會有點復雜。
步驟1:引用依賴性
在這一步中,我們將包括FusionCharts的核心JavaScript庫和PHP圖表包裝程序。
具體是這樣做到的:
<? php // including FusionCharts PHP wrapper include(path/to/fusioncharts.php); ?>
<head> <!-- FusionCharts core package files --> <script type="text/javascript" src="path/to/fusioncharts.js"></script> </head>
步驟2:創建圖表對象
這一步我們要使用FusionCharts的PHP包裝程序類為我們的圖表 $coolChart
創建一個對象。創建圖表對象的語法如下:
$objectName = new FusionCharts("chart type", "unique chart ID", "Chart Width", "Chart Height", "HTML Element for Chart", "Chart Data Format", "Data Source");
下面的圖表對象用于我們要在本教程中創建的圖表:
$coolChart = new FusionCharts("bar2d", "myCoolPHPChart", "100%", "600", "barchart-container", "json", '{ "chart": { "caption": "Monthly revenue for Q4 - 2015", "xAxisName": "Month", //Other Chart Options }, "data": [{ "label": "Oct", "value": "490000" } //More Chart Data }');
上述語法中提到的“Data Source”包含兩個對象:
圖表對象:包括負責圖表交互性和裝飾的各種屬性。它們中的一些說明如下:
showHoverEffect
:(布爾型),用于啟用或禁用圖表中的懸停效果。plotFillHoverColor
:(十六進制代碼/顏色名稱)用來定義鼠標懸停的曲線顏色。plotFillHoverAlpha
:(整型)用于定義懸停顏色的透明度。baseFont
:(字符串)用于定義圖表的字體類型。baseFontSize
:(整型)用于設置圖表的字體大小。baseFontColor
:(十六進制代碼/顏色名稱)用于設置圖表的字體顏色。
數據對象:包括用于每個數據圖的標簽和它們相應的值。可以被添加到數據對象內的其它屬性是:
displayValue
:(字符串)允許你為特殊的數據圖設置自定義的字符串值。link
:(字符串)允許你通過數據圖鏈接到網頁,drill-down圖表或自定義的JavaScript函數來獲取更進一步的圖表功能。showLabel
:(布爾型)用于啟用或禁用特定數據圖(欄)的標簽顯示。
有很多可用的自定義選項可以根據你的具體使用情況使用。你可以查看這個龐大的圖表屬性列表來進行進一步探索。
步驟3:渲染圖表
在渲染圖表時,我們要定義HTML<div>
元素。下面是做法:
<body> <div id="barchart-container">Cool Chart on its way!</div> </body>
要渲染圖表,我們將調用render方法用于上面步驟中創建的圖表對象。
$coolChart->render();
如果你正確地按照我上面提到的步驟去做,那么現在你應該已經創建好了一個圖表。如果你在你的代碼中發現任何錯誤,也可以參閱GitHub代碼倉庫以獲得這個項目的全部源代碼。
更多資源
在本教程中,我們在圖表對象內直接傳遞JSON用于圖表,但也有其他加載數據的方法。可以參考這個文檔頁面來了解其他加載數據的方法。
PHP和MySQL被認為是用于服務器端語言和數據庫的最好結合之一,目前被許多流行的web應用程序使用。要了解更多有關于它們的用法,可以查看這篇有關如何使用PHP和來自于MySQL數據庫數據創建drill-down圖表的教程。