最近班級的第一次月考成績出爐,想說看看月考成績和班級座位是否有任何關係,找出 gnuplot 這套強大的函數繪圖軟體來作圖觀察看看。
做出的圖形如下,還真的可以看出座位表和成績之間的關係呢。
把製作的過程記起來,以免以後忘記了。
[@more@]
這個製作的過程很早之前就試過了,還在校務系統的程式上多加上成績項目和座位表的報表輸出的功能。因為 gnuplot 是利用指令作圖,太久沒用幾乎都忘光了,所以把完整的過程記錄下來當作以後的參考。
1.下載 gnuplot
附記:
如果要輸入圖形的標題,可利用 set title "標題" 的方式。
做出的圖形如下,還真的可以看出座位表和成績之間的關係呢。
把製作的過程記起來,以免以後忘記了。
[@more@]
這個製作的過程很早之前就試過了,還在校務系統的程式上多加上成績項目和座位表的報表輸出的功能。因為 gnuplot 是利用指令作圖,太久沒用幾乎都忘光了,所以把完整的過程記錄下來當作以後的參考。
1.下載 gnuplot
gnuplot 的官方網頁:http://www.gnuplot.info/2.至校務系統下載成績檔
到 sourceforge 下載最新版
下載後,將壓縮檔解開後,在「bin」資料夾內就有gnuplot的執行程式「wgnuplot.exe」。
校務系統內的「課程中心」的成績功能裡,有各項成績報表匯出的功能。3.執行 gnuplot
匯出的成績報表裡包含學生資料、成績和座位行列。
匯出的資料是純文字格式,資料用「Tab」分隔,共有7欄,有#開頭的行是註解,並不會用在繪圖。
其中成績是第5欄,座位是6, 7欄,定位的方式是站著講台往學生方向,坐標原點在左下方。其中第6欄是X,第7欄是Y。
把資料存成純文字檔,例如檔名:testdata.txt,放在gnuplot主程式同一個資料夾內。
4.把圖形儲存到檔案上
gnuplot主要是利用命令來執行繪圖的動作。
輸入「splot "testdata.txt" using 6:7:5」利用testdata.txt 中第6,7,5欄的資料順序來繪製3d圖形。
可以利用滑鼠拖曳圖形來旋轉。
輸入「set isosamples 100,100」設定100的取樣值,讓圖形可以更平滑,再輸入「replot」重新繪圖,可以看到變化。
輸入「set dgrid 40,40」增加繪圖點。
輸入「set pm3d」繪製更好看的3d圖形。
原本預設的顏色並不是很好,所以重新設定調色盤「set palette model HSV functions gray,1,1」重新上色
紅色的十字看起來很礙眼,所以利用「set hidden3d」隱藏起來。
可以用滑鼠來移動圖形,呈現各種不同的圖形。
調整好圖形之後,就可以把圖形儲存下來。要把gnuplot繪出的圖形存下來時,要有兩個動作:輸出的圖形如下:
a.設定輸出方式:set terminal jpeg
把輸出方式設定成jpeg圖形格式
b.設定輸出檔名:set output "test.jpg"
再輸入 replot 就可以把圖形存成test.jpg
輸出後,再輸入「set terminal windows」把輸出方式切換回gnuplot的繪圖視窗,再 replot 後就可以調整圖形。
附記:
如果要輸入圖形的標題,可利用 set title "標題" 的方式。
留言
張貼留言