September 18, 2010

Gnuplot

這是一個強大的自由軟體,
可以用來繪製各種函數圖形,
操作的方法其實還蠻像編程的。

Gnuplot
下載完直接解壓縮,
進入binary資料夾執行wgnuplot,
另一個執行檔為gnuplot,
但它是在DOS執行。


首先開啟一個記事本(.txt),
將資料輸入,
第一行為x值,
第二行為y值,
每列代表一個點,
中間以空格分隔x與y座標。

執行wgnuplot後,
第一步是設定資料讀取目錄,
點擊上方列ChDir,(或是輸入cd ' 資料夾路徑 ' )
設定圖上的標題、座標軸名稱
set title '標題',
set xlabel 'x座標軸名稱',
set ylabel 'y座標軸名稱',
接著設定xy軸的範圍,
set xrange[0:10],(縮寫set xr[0:10])
set yrange[0:10],(縮寫set yr[0:10])
設定xy軸的間隔,
set xtics 1,
set ytics 1,
然後輸出資料繪圖,
plot ' filename '。(即資料名稱)

另外也可以將資料表示為不同圖形,
plot sin(x) with
名稱。

lines:將相鄰的點以線條連接。
points
將每一點以一符號繪上。
linespoints
同時具有 lines points 的功能。
impulses
將每一點畫一垂直線至 X 軸。
dots
將每一點繪一細點。
steps
以垂直線及水平線各一條來連接兩點,形成梯形。如連接 (x1,y1)(x2,y2)兩點,以 (x1,y1) (x2,y1) (x2,y1) (x2,y2) 兩線段連接。
errorbars
對每一點座標值 (x,y),畫一由 (x,ylow) (x,yhigh) 的線段。並在線段兩端做上 tic mark
boxes
The boxes style draws a box centred about the given x coordinate from the yaxis to the given y coordinate。
boxerrorbars
組合 errorbars boxes 兩者功能。

平滑曲線,只用插值或逼近:plot "data", "data" smooth bezier



然後如果我們想要驗證實驗資料與理論是否相符,
即可使用fitting(擬合、模擬),
首先設定一個函數f(x),
f(x)=m*x+n,
m=1,
n=1。
(預先估計m,n值有助於繪圖)
fit f(x) ' data.txt ' via m,n,
程式經過運算後會給出m跟n
replot f(x)
即可疊加擬合後之f(x)圖形。


Gnuplot
支援許多類型之圖檔,
設定輸出終端機類型,
set terminal,(顯示出支援的圖檔類型)
以png檔為例,
set terminal png
,(縮寫set term png)
設定圖檔檔名,
set output ' data.png ',
接著執行想輸出的圖檔,(replot重畫)
關掉gnuplot
或輸入指令,(set output)
圖檔才能正常讀取

繪圖指令輸出的圖,
如果要改回輸出到螢幕上顯示,
Windows 版可輸入:set terminal windows

非 Windows 版可輸入:set terminal x11


這裡只是整合一些初學者適合使用的指令,
其他圖形繪製可上Gnuplot的Demos參考,
或是GNUPLOT使用手冊:中央研究院計算中心ASPAC計劃。

0推薦此文章
Today's Visitors: 0 Total Visitors: 319
Personal Category: Uncategorized Articles Topic: learning / academic / mathematics
[Trackback URL]

Reply
  • 1樓

    1樓搶頭香

    你怎麼都找的到奇怪的東西@@
    好厲害阿~"~

  • joseph335 at September 19, 2010 01:15 AM comment | prosecute
  • 物理系必學的軟體阿,
    我也不想自虐的。
    XD!!

  • Blog Owner at September 19, 2010 02:49 AM Reply
Post A Comment









Yes No



Please input the magic number:

( Prevent the annoy garbage messages )
( What if you cannot see the numbers? )
Please input the magic number

誰來收藏
Loading ...
unlog_NVPO 0