Gnuplot 教學短片 (2007 TOP 計畫)


簡介

這裡是 2007 年 12 月錄製的 gnuplot 教學短片。 短片內容大致循著 gnuplot 講義 的順序。

無法開啟 mkv 檔嗎? 請見 「有關 mkv 影音檔格式」 的說明。

短片錄製, 接受經濟部工業局 「Taiwan Open Source 計畫」 補助, 由巨匠電腦, 智新資通, 與軟體自由協會共同製作, 洪朝貴錄製。 此處所有未經加工的原始短片以 Creative Commons Attribution-ShareAlike 方式授權大眾使用。

感謝 游龍山 協助將影片上傳至 YouTube 及 优酷。 以下是各單元摘要。

第 1 單元: 簡介

下載點 (長度: 598 秒); 重點摘要:

  1. 開終端機以 "apt-get install gnuplot" 安裝套件。
  2. 用 "drgeo" 與 "講義" 兩個關鍵詞搜尋線上講義。
  3. 製作簡單圖形: plot 與 replot 指令。
  4. 用 set 進行是否要畫座標軸等等設定, 並不會立即生效, 而是要等到下次畫圖才會生效。
  5. gnuplot 在艱困的純文字模式底下也可勉強工作: set term dumb

第 2 單元: 人口成長趨勢

下載點 (長度: 677 秒); 重點摘要:

  1. gnuplot 所吃的純文字資料格式很簡單, 每列代表一個點。
  2. 資料繪圖可採點狀, 連線, ... 等等不同方式。
  3. 不論是函數繪圖或資料繪圖, gnuplot 會自動判斷最佳的縮放範圍及方格紙密度等等。
  4. 要把不同數量級的資料畫在同一頁上 (例如老鼠與鯨魚的重量) 時, 建議用 logscale。
  5. 想要匯出圖檔 (例如放上網頁或貼入 OO.o 文件) 必須指定匯出格式與匯出檔名。

第 3 單元: 馬鞍面

下載點 (長度: 512 秒); 重點摘要:

  1. 前一張圖用到 logscale, 而下一張圖的資料有負數時, 就會出錯。 因此建議要畫新的圖時, 用 reset 清除先前所有的設定。
  2. 以馬鞍面說明繪製立體圖形時可用的效果: 簡單的網狀圖, 等高線 (想像登山地圖), 及彩繪 (想像累積雨量圖)。
  3. HSV 色彩模型簡介: 色相, 彩度, 明度。

第 4 單元: 臺灣地形圖

下載點 (長度: 792 秒); 重點摘要:

  1. 在美國 JPL 實驗室可以下載到臺灣 (及世界各地) 的地表高度資料。
  2. 用 gnuplot 的 3-d 繪圖功能可以拉著立體的臺灣地圖旋轉。
  3. 與先前人口成長圖相同格式的純文字資料, 如果用 splot 去畫, 就被 gnuplot 當做是 3-d 資料。
  4. 若資料不完整, 欠缺部分數據, 可用 set datafile missing "nan" 指令提醒 gnuplot。
  5. 用幾種不同的方式設定調色盤: set palette model ...

第 5 單元: 太陽系行星衛星質量半徑圖

下載點 (長度: 544 秒); 重點摘要:

  1. Regular Expressions (簡稱 regexp) 對於資料繪圖的前置處理極有幫助, 力推!
  2. set label 指令可在圖上貼文字標籤, 並可指定位置與顏色等等。
  3. 用 regexp 可以將有規律的文字檔 (例如九大行星網頁上的行星衛星資料) 一口氣轉成一堆 set 指令, 然後從 gnuplot 裡面用 load 指令即可載入執行。
  4. 可以把函數與資料畫在同一張圖上對照, 例如此處的 「水球的質量-半徑函數」。

第 6 單元: 世界地圖

下載點 (長度: 282 秒); 重點摘要:

  1. Demo scripts for gnuplot 有很多範例; 這裡我們拿世界地圖作例子。
  2. 同一個純文字的數據資料檔 (裡面放經緯度), 用 plot 畫出來的是平面圖; 但若設定球面座標並以 splot 繪圖, 畫出來的則是立體圖。
  3. 以此例的資料內容而言 (經緯度), 用球面座標繪圖還需要指定採用度為單位, 不然 gnuplot 會把數據當做弳度量解釋。
  4. 以參數式 (set parametric) 繪製立體圖時 (例如球面), 內定的自變量是 u 與 v。
  5. 可以用 set hidden3d 消除隱線。

第 7 單元: 數學函數

下載點 (長度: 355 秒); 重點摘要:

  1. 極座標繪圖模式的自變量是 t。
  2. 事實上用更一般的參數式繪圖模式 set parametric 也可達相同效果, 甚至畫更複雜的圖。 此時自變量也是 t。
  3. 用 gnuplot 學微積分: 何謂二次連續存在但不相等? 為何此時二重連續必不存在?