台灣最大程式設計社群網站
線上人數
960
 
會員總數:246135
討論主題:189716
歡迎您免費加入會員
討論區列表 >> PHP >> 用PHP的GD庫畫折線圖
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
用PHP的GD庫畫折線圖
價值 : 10 QP  點閱數:5944 回應數:6
樓主

羽思
門外漢
0 1
17 2
發送站內信

由於學校老師要求,我必須在下禮拜三前在網頁中繪製折線圖的部分..
與資料庫連結等部分都已經完成了,只差繪出折線圖
由於經過近一年自學,PHP語法已經大致上可以看懂
但折線圖繪製的部分卻遇到瓶頸
我是參考以下網站作編譯
http://www.isstudy.com/phpjc/269.html
大致上繪製部分並無太大問題
但是其中這個FOR迴圈的運算卻不太能理解

$x = 20;
$y = 230;
for ($i=1;$i<12;$i++){
$y_lt = 230-(($data[$i-1]/$max)* 1000);
$y_ht = 230-(($data[$i]/$max)* 1000);
imageline($im,$x*($i*2-1)+10,$y_lt,$x*(($i+1)*2-1)+10,$y_ht,$red);
}

這一段是產生折線圖的部分,但是實在是無法理解其運算方式
其實主要問題並不是出在這裡
因為將這段迴圈做過修改後,仍可以正常繪製
但是不知道為什麼,只要輸入的數字有所變動,整體折線的Y軸就會移位
會因 $data = array(); 內數據變動而改變Y軸位置
希望有經驗的各位能幫我解答

搜尋相關Tags的文章: [ 折線圖 ] ,
本篇文章發表於2012-12-04 22:24
1樓
最有價值解答

皮皮快跑
檢舉此回應
關於折線圖我比較不建議你用GD函式庫。
highcharts介紹說明
這個你參考看看。
只要把php資料轉換成json格式拋進js就可以產生圖表。
但做法你需要花一點時間學,但絕對比你用GD函式庫產生來得好。
本篇文章回覆於2012-12-05 00:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
皮兄:

他要寫的是作業,可能是要求要用GD庫畫圖吧。

TO:樓主
你的問題比較接近的是數學問題,而非程式問題。我可能無法回答你。
本篇文章回覆於2012-12-05 09:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

皮皮快跑
檢舉此回應
星空大!
他只說他老師要他做「折線圖」
(原文:『在網頁中繪製折線圖的部分』)
但沒說規定要用PHP來畫喔!
所以用現成的套件來做比較快。
本篇文章回覆於2012-12-05 10:14
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

羽思
檢舉此回應
線在嘗試用highcharts作
參考這篇文章
http://www.helloweba.com/view-blog-155.html
但是數據方面要從資料庫獲取
但是我一直以來都是用PHP來導出資料庫內資料
JavaScript不知道能否做到?
如果可以,能利用PHP導出資料庫,在導入JavaScript內作處理嗎?
本篇文章回覆於2012-12-05 22:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

皮皮快跑
檢舉此回應
兩種作法
一種就是php取指後轉換成json格式拋給js處理。
另外一種就是ajax,一樣傳回來要傳好json格式給js處理。
本篇文章回覆於2012-12-05 23:49
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

羽思
檢舉此回應
感謝!
使用highcharts後
我直接在PHP上方加入<script type="text/javascript"></script>
之後把<?php?>寫在裡面
把跟mysql傳輸的部分寫在裡面將值輸出
折線圖就可以正常畫出來了!!
本篇文章回覆於2012-12-06 02:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.