相信許多物理教師在編講義或出考卷時,遇到最麻煩的問題就是畫圖了。以下幾個軟體是我試用過之後覺得蠻好用的:
這幾個軟體不論是在Linux還是Windows上都可以運作,其中前三個軟體是freeware,而QCad則是要註冊的( USD 33 ~ NT 1094)。gnuplot主要是用來畫函數圖形,inkscape是類似corle-draw的向量繪圖軟體,OpenOffice是一套相當有名的辦公軟體,而QCad則是類似Auto-Cad的繪圖軟體。在這邊我先介紹gnuplot。
gnuplot在Windows的介面如下圖(取自gnuplot homepage)
我在FC5下則是直接用文字介面
可以直接在文字介面中執行
$ gnuplot
進入gnuplot,然後在裡面直接打指令畫圖。但也可以執行
$ gnuplot [command file]
直接執行寫在command file中的指令。我個人是比較偏好第二種方法。
以底下這張圖為例:
我的指令檔如下
set xrange [0:2*pi]
set yrange [-1.1:1.1]
set title "x-t plot"
set xlabel "t (sec)"
set ylabel "x (m)"
# 顯示x軸
set xzeroaxis
# 不顯示圖例
set key off
# 加上三條直線
set arrow 1 from pi/2,1.05 to pi/2,-1.05 nohead ls 3
set arrow 2 from pi,1.05 to pi,-1.05 nohead ls 3
set arrow 3 from 3*pi/2,1.05 to 3*pi/2,-1.05 nohead ls 3
# 加上標籤
set label 1 "1" at pi/4,0.1 center font "Times,24" textcolor ls 2
set label 2 "2" at 3*pi/4,0.1 center font "Times,24" textcolor ls 2
set label 3 "3" at 5*pi/4,0.1 center font "Times,24" textcolor ls 2
set label 4 "4" at 7*pi/4,0.1 center font "Times,24" textcolor ls 2
# 設定輸出為svg檔
set terminal svg
# 設定輸出檔名
set output "x-t_sin.svg"
# 畫sin(x),0 < x < 2*pi
plot [0:2*pi] sin(x)
可以設定的輸出格式還有很多種,像是png, jpeg, gif, postscript等等。詳細的設定請參考gnuplot裡的help
octave 可以處理數值資料. 功能還不少. 類似matalab
回覆刪除版主回覆:(05/03/2008 05:46:05 PM)
謝謝您的迴響,我有空的時候會再來研究看看這個軟體。
另外好奇地問一下,您是如何找到這來的?
我是在Google上搜寻用Draw绘制的图片时,鼠标点着点着就点到您的blog上来了,一看,挺好的,就尝试着发封E_mail联系您了。因为软件只有应用背景的人才能用得更好啊!
回覆刪除版主回覆:(09/13/2007 01:57:29 AM)
Google果然是個神通廣大的東西
您好,这几天你们是休息天吗?
回覆刪除版主回覆:(11/15/2007 06:44:57 AM)
我現在星期六、日有放假
如何用gnuplot畫長條圖?
回覆刪除版主回覆:(11/16/2007 06:21:53 PM)
假設您的資料檔名為data,內容如下
===========================================
0 10
2 15
3 21
5 13
8 23
===========================================
用以下指令應該可以得到您想要的效果
plot "data" with boxes
詳細資料可參閱 http://phi.sinica.edu.tw/aspac/reports/94/94002/plot-5.html#style
請問如何畫出一個像地球儀的圓呢?
回覆刪除版主回覆:(05/17/2009 09:27:24 AM)
如果是指畫圓的話,可以參考這個網頁 http://phi.sinica.edu.tw/aspac/reports/94/94002/plot-806.html
我用以下這個檔案為例子,假設檔名為 circle.gnuplot,於終端機中執行
gnuplot circle.gnuplot
檔案內容如下
==============================================
# 恢復為預設值
reset
# 設定為極座標
set polar
# 將圖形長、寬比例設為1:1
set size square
# 加上網格
set grid
# 設定輸出格式為svg檔
set terminal svg
# 設定輸出檔名為circle.svg
set output "circle.svg"
# 畫一個半徑為2的圓
plot 2