February 2008


如果想要把檔案裡面的資料讀出來,並且以點的方式來呈現:

plot 'datafile.dat' with dots

這時候可以指定 點 的 大小 和 顏色 ,不過詭異的是 gnuplot 對 dots 的參數指定居然和 line 所使用參數名稱相同,所以如果要指定點顏色(linetype)為黑色,且大小(linewidth)為 3 的話:

plot 'datafile.dat' with dots lw 3 lt -1;

如果對這些參數的數字不確定,可以在 gnuplot 打 test ,就會有張圖可以看,就知道數字代表的顏色和符號是什麼了。

同樣地,也可以指定所畫函數的顏色:

plot sqrt((0.192787)**2-(x-(7.560032))**2)+(8.022352) with lines 3, -sqrt((0.192787)**2-(x-(7.560032))**2)+(8.022352) with lines 3;

這樣就會畫出一個藍色的圓圈。(以windows上的參數設定來看,-1是黑色,1,2,3, 則分別對應 red, green 和 blue,其他的就請用 test 看)不過如果你真的照這個函數畫下去的時候,會發現怎麼畫出來的圖太小或是太大,或是看不出來那是一個圓。你可以先設定 x,y 的範圍。


set xrange [<number>:<number>];
set yrange [<number>:<number>];

比方說我們設定:


set xrange [5:10];
set yrange [7:9];

當 x,y 設定到適當的範圍之後,你可能又發現出來的結果,好像沒有連在一起,而且看起來也不太像個正圓。

如果線段沒有連在一起,只是因為 gnuplot 取樣點數的預設值不夠多,你可以設定多一點,例如:

set samples 10000;

不過這個時候,線段看起來連在一起了,但是卻不像是個正圓。
我們觀察一下座標軸,發現 5-6 的距離看起來居然和 7-8 的距離不一樣!!
這個時候,可以叫 gnuplot 自動調整到一樣,不過這個並不保證一定會成功:

set size ratio -1

好啦,看起來像是正圓了,但還是差強人意。

如果要設定 ratio 的值的話,ratio 的值設定為 yrange/xrange 就可以做到想要的效果。以上面的例子來說,就是:

set size ratio 0.4

(yrange=2)/(xrange=5) = 0.4

看說明文件應該是可以用 rgb 以 “#RRGGBB” 來指定顏色,但是4.0的版本並不支援用 rgb 指定顏色的語法,請用4.2以後的版本,可以用下面的語法測試是否支援:

plot sin(x) lt rgb "#FF00FF"

另外,如果想在一張圖裡面擠多張圖的結果,可以考慮使用 multiplot,可以用help multiplot 來取得說明和範例程式。

最簡單的,假設在 gnuplot 的環境下:
gnuplot> set multiplot
multiplot> plot sin(x)
multiplot> plot cos(x)
multiplot> unset multiplot
就可以看到效果了。

在 windows 上面的 apache 有時候 download 檔案會發生檔案下載完成後結果發現檔案損毀,或下載不完全。可以在 http.conf 加入下面三行:

EnableSendfile off
EnableMMAP off
Win32DisableAcceptEx

我真的是個『孤獨的旅人』。我對於我的國、我的家族、我的朋友,甚至我切身的家庭,從來沒有全心全意的歸屬感。在這些關係面前,我只感到隔閡與距離,只感到對寂寞的需要。

— 愛因斯坦