在Origin中繪制能量折線圖的方法
PS:鑒于有一些人看完了本文還是覺得操作上吃力,筆者專門錄了個視頻予以演示:https://www.bilibili.com/video/av28653613
很多討論反應機理的文章都會給出能量折線圖,用于描述反應過程中過渡態、中間體的能量以及連接關系。這種圖中,縱坐標是能量,橫坐標是反應坐標,每個過渡態或中間體在圖中在相應位置用一個橫杠表示,相鄰的這些結構用實線或虛線連接。有一些現成的小工具可以繪制這種圖,比如liyuanhe寫的基于Python寫的小程序(http://bbs.keinsci.com/forum.php?mod=viewthread&tid=2675),以及energy_plot.py(http://homepage.univie.ac.at/felix.plasser/chemprogs/python.htm)。有些人用chemdraw畫這種圖,顯然是不合適的,橫杠位置擺放只能靠肉眼估計,間距也不均勻,過程也麻煩。比較合理的做法是用Origin。本文介紹怎么用Origin結合筆者寫的一個輔助小工具作這種圖,練習過一遍后會發現整個流程挺簡單,而且可以用Origin的豐富的選項定制出自己想要的效果。本文用的是Origin 9.0。
此文要作的圖里從左到右有7個能量值,單位為KJ/mol,如下所示,第一個值作為零點。
0.0
100.2
29.5
60.3
-57.8
-9.7
-62.0
為了作圖方便,這里用筆者寫的enepro程序產生與上面對應的在Origin作圖中要用的數據文件。在這里下載enepro:/usr/uploads/file/20160209/20160209231002_56859.rar。其中.exe是編譯好的可執行文件,.f90是源代碼。解壓后,將里面的輸入文件input.txt寫成下面這樣。第一行是橫杠的寬度,第二行是橫杠之間的間隔,這里相當于將二者長度設成了1:2。從第4行起就是依次寫上能量值了,單位隨意。
1 //Bar width
2 //Spacing between bars
=====Below are energies=====
0.0
100.2
29.5
60.3
-57.8
-9.7
-62.0
雙擊啟動enepro.exe,就會讀取當前目錄下的input.txt,并在當前目錄下產生scatter.txt文件,用于繪制橫杠,以及line.txt文件,用于繪制折線。
啟動Origin,將scatter.txt和line.txt都直接拖進Origin窗口。然后點擊繪制散點圖的按鈕,選成下圖這樣,然后點Add,以加入散點作圖數據。

然后再選成下圖這樣,再點Add,以加入折線作圖數據。

此時窗口下方Plot List里已經有兩套數據了。點OK,得到下圖

之后要調節的主要是(1)邊框與橫、縱坐標說明 (2)坐標刻度 (3)連線的樣式 (4)圖例 (5)散點圖的符號 (6)增加數據點標簽。前4項不需要多說,大家摸索一下就能調成想要的效果。要修改后兩項,應當雙擊圖中數據點符號,然后把Symbol標簽頁里的符號改為橫杠,Edge Thickness加大使之比較粗,并且適當調節Size,使得數據點符號正好覆蓋住折線的相應位置,本例設定如下所示:

然后選擇Label標簽頁,選上Enable,以讓數據點的具體數值顯示出來。可以設定字體顏色、相對于數據點的位置和偏移量。Display Format框里輸入.1代表保留一位小數。本例設定如下所示:

都設好后最終效果如下所示

為了以后作圖方便,我們把當前好不容易設好的作圖設置保存為主題。在圖的邊框外側點右鍵選Save Format as Theme,然后設一個名字,比如energy_profile,點OK。以后再以完全相同(一定要完全相同!)的步驟作這種圖后,就可以直接按F7打開Theme Organizer,選擇之前保存的energy_profile主題,就能將當前圖像立刻套用上以前設定的作圖樣式,之后只需要再修改極個別地方即可。
另外,這種折線圖上還經常把分子結構附上去。這個很簡單,在chemdraw里畫好結構,ctrl+C,然后在origin里ctrl+V即可。也可以把其它現有的圖片文件直接貼到origin里(圖上點右鍵選Insert Images from Files),或者把剪切板里的圖像ctrl+V直接粘進去。另外,Origin在界面左側一列中也提供了在圖上畫直線、箭頭、添加文字的工具,基本用不著再ps了。
還有些情況需要在圖上用不同顏色顯示多條路徑,這也很簡單。把對應于其它路徑的scatter.txt、line.txt也導入Origin當前的項目中,雙擊之前作圖窗口左上角的灰色的含有“1”字的方框,然后點plot setup,再把對應另外路徑的數據也加入到當前作圖數據列表里即可,過程和前面如出一轍。