2018年3月25日 星期日

SciDAVis繪圖:XY散布圖

SciDAVis繪圖:XY散布圖
 日期:2018/3/25
  SciDAVis 的全名為 Scientific Data Analysis and Visualization,照字面的意思可以翻譯為科學資料分析與視覺化工具,用來分析數據、作圖,而且它是一套自由軟體最新的版本為1.22,下載頁面在此(前往下載) 。類似的商業軟體為 Origin 和 SigmaPlot,但是這兩套軟體的售價不便宜,都在萬元以上。雖然用 MicroSoft Excel 和 LibreOffice Calc 也能做到類似的效果,但是 SciDAVis 處理大量數據的效果更好,即使操作界面是沒有中文化,對高中生而言應該還在可接受的範圍內。
  以下教學用採的繪圖數據是由 VPython 教學〈終端速度〉的程式碼產生的,下載連結在此(取得檔案)。

安裝軟體

  如果作業系統為 Windows,請選用 scidavis.1.22-win-dist.msi,下載後使用系統管理員身份執行安裝檔,接著不斷地按下一步就完成了。如果作業系統為 Linux,請選用 scidavis-1.22.tar.gz,下載後解壓縮,再依照資料夾中的檔案 "README.installer" 的指示編輯檔案及安裝。安裝完成後執行程式,畫面如下。
SciDAVis 畫面截圖


匯入資料檔

  如果沒有現成的資料檔,那就在表格中手動輸入資料,同一個欄位只能有一種資料,例如都是時間 或是位置 x。而我們已經有資料檔,4個欄位分別為 "t(s), y(m), v(m/s), a(m/s^2)",每列的資料之間以逗號(,)分隔。

1. 由選單:File ⇒ Import ASCII 或 Ctrl + K,開啟匯入檔案視窗。
匯入檔案選單

2. 由於資料是以逗號分隔,在匯入檔案視窗中,要記得將 Separator 選項改成逗號。另外也可以選擇要將資料匯入哪一個表格,可以蓋掉現有表格的資料,也可以另外增表格。
匯入檔案視窗

3. 理論上 SciDAVis 應該會自動將第一欄當 X 軸資料,將另外三欄當成 Y 軸資料。如果沒有自動正確判斷也沒關係,在要修改的欄位上按滑鼠右鍵,選擇 Set Column(s) As 即可修改。在畫面右側也可以更改欄位的描述。
匯入資料檔後的表格

修改欄位屬性的選單

繪製一張XY散布圖

1. 在要畫圖的欄位標籤上按滑鼠左鍵選取整欄的數據,再由選單:Plot ⇒ Scatter ;或是直接在欄位標籤上按滑鼠右鍵,再由出現的選單:Plot ⇒ Scatter,SciDAVis 會自動以設定為 X 軸欄位的數據以及選取欄位的數據作圖。
在欄位標籤上按滑鼠左鍵再由選單繪圖

在欄位標籤上按滑鼠右鍵繪圖

以 y(m) 欄位作為縱軸數值、以 t(s) 欄位作為横軸數值的 XY 散布圖

2. 通常預設的圖片格式不太符合需求,需要手動修改圖片標題、坐標軸標籤、坐標軸格式。在圖片標題上連點滑鼠左鍵兩下,即可叫出修改標題文字的視窗,標題文字可支援 html 編碼格式,例如 <i> </i> 會將夾在中間的文字改為斜體字,<sub> </sub> 會將夾在中間的文字改為下標。如果再按視窗當中的 Font,則會開啟修改標題字形視窗,可以修改標體使用的字形、大小。可以用同樣的方法設定坐標軸標籤。
標題文字選項視窗

修改標題字形視窗

3. 如果在坐標軸上連點滑鼠左鍵兩下,即可叫出修改坐標軸格式的視窗,可以修改坐標軸的標題、文字格式,如果選取 Show 前方的核取方塊,此坐標軸才會顯示在圖片上。另外兩個分頁,Scale 可以修改坐標軸顯示的範圍,Grid 可以設定格線樣式。
修改坐標軸格式的視窗

修改坐標軸顯示範圍的視窗

設定格線樣式的視窗

4. 如果在數據點上連點滑鼠左鍵兩下,會開啟 Plot details 視窗,在此可以修改數據點的形狀、顏色、大小,如果再點右下角的 Plot Associations,則可以修改繪圖的資料來源。
Plot details 視窗

Plot Associations 視窗

5. 修改格式後的 y-t 圖如下。
修改後的 y-t 圖

6. 可以將畫好的圖匯出,點選圖片之後由選單:File ⇒ Export Graph ⇒ Current 匯出選定的圖片,或是在繪圖視窗上按滑鼠右鍵選擇 Export ⇒ Window 匯出選定的圖片。建議將圖片存成 svg 檔,放大圖片是就不會有失真的問題;如果要放到其它文件中,建議選用 jpg 檔,不知道為什麼 SciDAVis 匯出的 png 檔檔案很大。
由選單匯出圖片

在繪圖視窗上按滑鼠右鍵匯出圖片

匯出圖片存檔視窗

7. 為了保持圖片風格的一致性,可以將圖片儲存成範本,在繪圖視窗按滑鼠右鍵選擇 Save As Template,將檔案放在自己方便用的地方,以後要畫圖時開啟範本再修改繪圖數據即可。
將圖片儲存成範本

在一個繪圖視窗中繪製多張XY散布圖

1. 在已經畫好 y-t 圖的繪圖視窗上按滑鼠右鍵選擇 Duplicate,複製繪圖視窗。
複製繪圖視窗選單

2. 在繪圖視窗的空白處按滑鼠右鍵選擇 Add Layer,SciDAVis 會詢問是否猜測最佳的圖片配置,建議採用,即使猜測的位置不符合需求可以再手動調整。
新增繪圖層選單

是否猜測最佳的圖片配置

3. 在繪圖視窗中的空白處按滑鼠右鍵選擇 Arrange Layer,由於我想要將 y-t、v-t、a-t 圖放在同一列,將視窗中的 Grid ⇒ Columns 調成 3,Rows 調成 1。
Arrange Layers 選單

Arrange Layers 視窗

4. 在繪圖視窗中新增的空白散布圖上按滑鼠右鍵選擇 Add/Remove Curve,將 v(m)、a(m/s^2) 欄位的數據加入繪圖。
Add/Remove Curve 選單

Add/Remove Curve 視窗

5. 仿照前一段的方法調整圖片標題、坐標軸……等項目,最後的成果如下。
將 y-t、v-t、a-t 圖放在同一個繪圖視窗

在一張XY散布圖中使用兩個不同的縱軸

1. 在已經畫好 y-t 圖的繪圖視窗上按滑鼠右鍵選擇 Duplicate,複製繪圖視窗。
複製繪圖視窗選單

2. 在複製後的 y-t 圖上按滑鼠右鍵選擇 Add/Remove Curve,將 v(m) 欄位的數據加入繪圖。
Add/Remove Curve 選單

Add/Remove Curve 視窗

3. 在坐標軸上連按滑鼠左鍵兩下,開啟 General Plot Options 視窗,點選第三個分頁 Axis,選擇顯示右側坐標軸並修改坐標軸標題、字體、形色。  
調整右側坐標軸視窗

4. 點選第一個分頁 Scale,調整坐標軸的範圍。
調整坐標軸的範圍視窗

5. 在散布圖中的 v-t 曲線上連按滑鼠左鍵兩下,開啟 Plot details 視窗,點選第一個分頁 Axes,將 y Axis(y軸)改為 Right(右側),這樣就可以在同一張圖中將兩條曲線的值對應到不同的縱軸,避免其中一條曲線被壓扁。
調整 y 軸對應坐標視窗

紅色的 y-t 圖對應左側的縱軸,藍色的 v-t 圖對應右側的縱軸

結語

  目前試用了一陣子,個人認為 SciDAVis 絕對能滿足高中、大學物理實驗在數據處理及作圖上的需求,只是缺少了中文翻譯讓學生在學習上多了一點障礙,但還是值得學習的軟體,也許下一次的科展作品就可以試著用 SciDAVis 來處理數據。

參考資料

  1. SciDAVis 官方網站。2018年3月21日,取自 http://scidavis.sourceforge.net/ 
  2. 賈至達(2017)。SciDAVis數據繪圖軟體簡介,取自 http://typt.phy.ntnu.edu.tw/images/Documentation/SciDAVis_intro_NTNU_Professor_Chia.pdf 

沒有留言:

張貼留言