2011年6月13日

[心得]gnuplot in action -- chapter 2

有些重要的內容條列如下
  • 預設的data file為每個列為一筆紀錄,每一筆紀錄使用空白分開,每一行代表一個資料
  • 每一筆紀錄使用,在二維資料如果不指定,大多以第一行為x value第二行為y value
  • 同一個data file可放置多行資料,使用using指令來區隔,比方x value放第一行,y1 value放第二行,y2 value放在第三行。plot "data_file" u 1:2, "" u 1:3,這樣來繪製兩群資料
  • 如果data file裡面只有一行資料,又不使用using指令,gnuplot會預設幫忙使用0開始,每次遞增1的x軸作為每個資料點的x座標
plot "data_file" u 1:2 w l, "" u 1:3 w lp
這裡有些縮寫,有些我之前已經寫過了
u:using
w: with
l : lines(這裡是小寫的L,在書寫上很像1(one) orz)
lp: linespoints
  • 後面不接data_file name,gnuplot預設使用之前使用過的data file
  • 在使用多個gnuplot指令繪製完成想要的圖形的時候,要把script儲存可以使用save "myscript.gp"
  • 載入用 load "myscript.gp"

  • 當然也可以在文字編輯器內完成script file再載入,其中多個指令可以寫在同一行但是要用;<=分號分開
  • 副檔名沒有強制定義,但是建議為.gp或者.plt
  • 繪製完畢的圖形可以做多重格式的輸出
set terminal png
set output "mygraph.png"
第一個指令設定輸出格式,第二個則是檔案名稱,接者下replot,gnuplot將輸出從新導向檔案
另外有個類似load指令的call,一般利用來建立macro,他可以接受0~9十個參數,使用方式類似command line,參數在script內分別以$0, ..., $9表示
set terminal push
set terminal png
set output "$0"
replot
set output
set terminal pop
以上是一個固定輸出png的macro,假設命名為output_png.gp,因為save並不會將set terminal的指令存下來,所以建立這個macro很方便輸出png圖檔,使用方式如call "output_png.gp" "mygraph.png"

沒有留言: