# SciDAVis 教學 1:XY 散佈圖基本使用方法 > 作者:王一哲 > 日期:2019/12/4 <br /> [SciDAVis](http://scidavis.sourceforge.net/) 的全名為 <span style="font-weight:bold;color:red">Sci</span>entific <span style="font-weight:bold;color:red">D</span>ata <span style="font-weight:bold;color:red">A</span>nalysis and <span style="font-weight:bold;color:red">Vis</span>ualization,照字面的意思可以翻譯為<span style="font-weight:bold;color:red">科學資料分析與視覺化工具</span>,用來分析數據、作圖,而且它是一套自由軟體最新的版本為1.25,下載頁面在此([前往下載](https://sourceforge.net/projects/scidavis/files/SciDAVis/1.25/)) 。類似的商業軟體為 [Origin](https://www.originlab.com/) 和 [SigmaPlot](http://sigmaplot.co.uk/products/sigmaplot/sigmaplot-details.php),但是這兩套軟體的售價不便宜,都在萬元以上。雖然用 MicroSoft Excel 和 LibreOffice Calc 也能做到類似的效果,但是 SciDAVis 處理大量數據的效果更好,即使操作界面是沒有中文化,對高中生而言應該還在可接受的範圍內。 <br /> <img style="display: block; margin-left: auto; margin-right: auto" height="100%" width="100%" src="https://imgur.com/KqJicTy.png"> <div style="text-align:center">SciDAVis</div> ## 安裝軟體 如果作業系統為 Windows,請選用 [scidavis.1.25-win-dist.msi](https://sourceforge.net/projects/scidavis/files/SciDAVis/1.25/scidavis.1.25-win-dist.msi/download),下載後使用系統管理員身份執行安裝檔,接著不斷地按下一步就完成了。如果作業系統為 Linux,請選用 [scidavis-1.25.tar.gz](https://sourceforge.net/projects/scidavis/files/SciDAVis/1.25/scidavis-1.25.tar.gz/download),下載後解壓縮,再依照資料夾中的檔案 "README.installer" 的指示編輯檔案及安裝。安裝完成後執行程式,畫面如下。 <img style="display: block; margin-left: auto; margin-right: auto" height="100%" width="100%" src="https://i.imgur.com/a4Crqs3.png"> <div style="text-align:center">SciDAVis 畫面截圖</div> <br></br> ## 斜直線方程式的 XY 散佈圖 ### 從 CSV 檔匯入資料 可以在 SciDAVis 的儲存格中手動輸入以下的數據,或是先將以下的資料複製、貼上到文字編輯器中,將檔案儲存為**data.csv**,文字編碼應該用 ASCII 或 UTF-8 皆可。 ```python index,x,errx,y,erry 0,1.0,0.1,4.9,0.5 1,2.0,0.1,6.9,0.5 2,3.0,0.1,9.0,0.5 3,4.0,0.1,11.1,0.6 4,5.0,0.1,13.2,0.6 5,6.0,0.2,15.2,0.8 6,7.0,0.2,16.9,0.8 7,8.0,0.2,18.9,0.8 8,9.0,0.2,20.9,0.8 9,10.0,0.2,22.8,0.8 ``` <br /> 由選單:**File**⇒**Import ASCII** 或 **Ctrl + K**,開啟匯入檔案視窗。 <img style="display: block; margin-left: auto; margin-right: auto" height="40%" width="40%" src="https://imgur.com/ltwGmYI.png"> <div style="text-align:center">匯入檔案選單</div> <br /> 由於資料是以逗號分隔,在匯入檔案視窗中,要記得**將 Separator 選項改成逗號**。另外也可以選擇要將資料匯入哪一個表格,可以蓋掉現有表格的資料,也可以另外增表格。 <img style="display: block; margin-left: auto; margin-right: auto" height="100%" width="100%" src="https://imgur.com/7MCddlA.png"> <div style="text-align:center">匯入檔案視窗</div> <br /> <img style="display: block; margin-left: auto; margin-right: auto" height="100%" width="100%" src="https://imgur.com/RHMFqBE.png"> <div style="text-align:center">匯入資料檔後的表格</div> <br /> ### 設定欄位資料格式 接著在要修改的欄位上按滑鼠左鍵,在畫面右側也可以更改欄位的描述及資料格式。 <img height="40%" width="40%" src="https://imgur.com/bh42Dpr.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">更改欄位的描述</div> <br /> <img height="40%" width="40%" src="https://imgur.com/v60gBEV.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">更改欄位的資料格式</div> <br /> 在要修改的欄位上按滑鼠右鍵,選擇**Set Column(s) As**即可修改欄位的資料用途,分別將欄位index設為X、欄位x設為X、欄位errx設為X Error、欄位y設為Y、欄位erry設為Y Error。 <img height="80%" width="80%" src="https://imgur.com/GeKIEXu.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">設定欄位的資料用途</div> <br /> ### 繪製帶有誤差槓的XY散佈圖 #### 插入XY散佈圖 先選取欄位x、y之後,再從選單選取**Plot**⇒**Scatter**,或是在欄位上按滑鼠右鍵,從快速選單中選取**Plot**⇒**Scatter**。 <img height="40%" width="40%" src="https://imgur.com/ZbQVT6S.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">從選單插入XY散佈圖</div> <br /> <img height="80%" width="80%" src="https://imgur.com/YigtNwl.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">從快速選單插入XY散佈圖</div> <br /> <img height="60%" width="60%" src="https://imgur.com/9RGOg4H.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">預設格式的XY散佈圖</div> <br /> #### 修改圖片格式 如果想要修改資料點格式,可以在圖片的資料點上連點滑鼠左鍵兩下,勾選**Fill Color**會在點中填滿指定的顏色,**Edge Color**是點的邊緣線條顏色。 <img height="90%" width="90%" src="https://imgur.com/rzj6irY.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">修改資料點格式</div> <br /> 點選**Plot Associations**,可以修改資料點x軸、y軸數值對應的欄位。 <img height="40%" width="40%" src="https://imgur.com/hbHkov4.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">修改資料點對應的欄</div> <br /> 如果想要修改座標軸及標籤的格式,可以在圖片的座標軸上連點滑鼠左鍵兩下,點選**Axis**分頁,在**Title**欄位中可以修改標籤內容,支援HTML語法;點選**Axis Font**可以修改座標軸數字的字型及大小。 <img height="80%" width="80%" src="https://imgur.com/qNYZEbt.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">修改座標軸性質</div> <br /> <img height="60%" width="60%" src="https://imgur.com/Na669np.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">修改座標軸數字的字型</div> <br /> <img height="60%" width="60%" src="https://imgur.com/tODb3Hv.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">修改格式後的XY散佈圖</div> <br /> #### 插入誤差槓 點選圖片後從選單選取**Graph**⇒**Add Error Bars**或按快速鍵**Ctrl+B**。 <img height="40%" width="40%" src="https://imgur.com/Of3OTB5.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">插入誤差槓</div> <br /> 勾選**Existing column**,從資料表中選取不準量的來源,在視窗的下方勾選**X Error Bars**或**Y Error Bars**,最後點選右上方的**Add**。 <img height="60%" width="60%" src="https://imgur.com/7pIIYbZ.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center"></div> <br /> <img height="60%" width="60%" src="https://imgur.com/oHndcw6.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">插入誤差槓的XY散佈圖</div> <br /> #### 插入趨勢線 點選圖片後從選單選取**Analysis**⇒**Quick Fit**⇒**Fit Linear**。 <img height="55%" width="55%" src="https://imgur.com/5CL9DXq.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">選單插入趨勢線</div> <br /> 擬合的結果如下,看起來只有考慮y軸不準量。 $a = 1.9979669965615 \pm 0.0715310360117212$ $b = 2.99177166800124 \pm 0.371842523931618$ $R^2 = 0.999509982857237$ <img height="70%" width="70%" src="https://imgur.com/yyxa9CT.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">擬合結果</div> <br /> 如果要再開啟輸出結果的視窗,可以從選單選取**View**⇒**Results Log**。 <img height="50%" width="50%" src="https://imgur.com/lYain7Z.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">開啟輸出結果視窗</div> <br /> #### 匯出成圖檔 點選圖片後從選單選取**File**⇒**Export Graph**⇒**Current**或按快速鍵**Alt+G**。 <img height="50%" width="50%" src="https://imgur.com/TV3YCk5.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">匯出圖檔選單</div> <br /> 決定存檔路徑、檔名及圖片格式,最後按**存檔**。經過測試後發現,存成png檔大約400KB,存成jpg檔大約35KB,但是在電腦螢幕上看起來效果差不多。 <img height="70%" width="70%" src="https://imgur.com/jiV2XmZ.png" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">匯出圖檔視窗</div> <br /> <img height="60%" width="60%" src="https://imgur.com/NJ9V5zd.jpg" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">匯出的XY散佈圖</div> <br /> ## 練習題 請將以下的數據輸入至 SciDAVis,繪製帶有誤差槓的 XY 散佈圖,並做線性擬合,找出最接近直線的斜率和截距,理論上擬合的結果約為 $$slope = -3.05 \pm 0.06$$ $$intercept = 5.09 \pm 0.25$$ $$R^2 = 0.9995$$ ```python index,x,errx,y,erry 0,2,0.2,-1.02,0.2 1,4,0.3,-7.13,0.5 2,6,0.1,-12.87,1.0 3,8,0.2,-19.36,1.8 4,10,0.3,-25.43,2.1 5,12,0.1,-29.87,2.0 6,14,0.3,-37.98,2.2 7,16,0.2,-43.17,1.9 8,18,0.3,-50.66,1.8 9,20,0.1,-56.45,2.1 ``` <img height="60%" width="60%" src="https://imgur.com/rOV6LTF.jpg" style="display: block; margin-left: auto; margin-right: auto;"/> <div style="text-align:center">練習題線性擬合結果</div> <br /> <br /> ## 參考資料 1. SciDAVis 官方網站。2019年12月4日,取自 http://scidavis.sourceforge.net/ 2. 賈至達(2017)。SciDAVis數據繪圖軟體簡介,取自 http://typt.phy.ntnu.edu.tw/images/Documentation/SciDAVis_intro_NTNU_Professor_Chia.pdf --- ###### tags:`SciDAVis`、`Physics`、`校訂必修`