Gnuplot是一個命令行的互動式繪圖工具(command-driven interactive function plotting program)。用戶通過輸入命令,可以逐步設定或修改繪圖環境,並以圖形描述數據或函式,使我們可以藉由圖形做更進一步的分析。
gnuplot是由Colin Kelly和Thomas Williams於1986年開始開發的科學繪圖工具,支持二維和三維圖形。它的功能是把數據資料和數學函式轉換為容易觀察的平面或立體的圖形,它有兩種工作方式,互動式方式和批處理方式,它可以讓使用者很容易地讀入外部的數據結果,在螢幕上顯示圖形,並且可以選擇和修改圖形的畫法,明顯地表現出數據的特性。
基本介紹
- 軟體名稱:gnuplot
- 開發商:Colin Kelly和Thomas Williams
- 更新時間:1986年
- 軟體語言:英語
概況,Linux安裝,Windows安裝,mac安裝,
概況
Gnuplot 4.6 中文手冊於2012-10-11 翻譯完成,上傳到CSDN:《gnuplot 4.6中文手冊》
Linux安裝
終端輸入命令 $ sudo apt-get install gnuplot 系統自動獲取包信息、處理依賴關係,完成安裝
安裝完畢後,在終端運行命令 $ gnuplot 進入gnuplot
系統出現:gnuplot>是提示符,所有gnuplot命令在此輸入
Windows安裝
Windows下的安裝
到sourceforge搜尋gnuplot,然後下載win32的zip壓縮檔,裡面包含全部需要的檔案,下載,釋放到本地硬碟的目錄里,假設是c:\gnuplot。然後到這個目錄的下查找bin這個目錄,在bin目錄下有一個名為wgnuplot.exe的檔案,雙擊該檔案,就出現了GUI界面的gnuplot
至此,你已經成功安裝了gnuplot.
在提示符下面輸入:
gnuplot> plot [-3.14:3.14] sin(x)
然後就可以看到結果.
上面有橫軸有縱軸,還有圖例.
如果你不需要上面的圖例,你可以在運行:
gnuplot> unset key
如果要還原
gnuplot> set key default
然後再運行上面的繪圖命令就可以實現沒有圖例或者恢復圖例的效果了
一般情況下使用gnuplot都是科學繪圖,因此很多都是放在文章裡面。一般優秀的科技文獻都是用latex來編寫的,所以gnuplot提供了直接輸出 tex檔案的功能,只需要把output設定為latex就可以了。下面來看一個例子,就把上面的正弦曲線插入到你的文章中。在命令行下輸入:
gnuplot> set terminal latex
set output "sin.tex"
plot [-3.14:3.14] sin(x)
那么程式自動生成了一個tex檔案,其包含一系列代碼,都是繪圖用的,可以用寫字板打開,裡面都是一些指令,你完全可以忽略掉。你可以把這個檔案直接插入你的文章中,例如
\begin{figure}
\begin{center}
\input{sin.tex}
\end{center}
\end{figure}
以後凡是要生成插入latex的圖片,就可以用上面的辦法實現。
當然前面的圖已經很不錯了,就是稍顯單調,這裡給它加點裝飾,來個x軸和y軸的提示、圖片是說明。這樣才更像一幅論文裡面的圖片。在命令行下輸入以下代碼:
gnuplot> set terminal latex
set output "sinagain.tex"
set size 5/5.,4/3.
set format xy "$%g$"
set title "This is a plot of $y=\\sin(x)$"
set xlabel "This is the $x$ axis"
set ylabel "This is\\the\\$y$ axis"
plot [0:6.28] [0:1] sin(x)
依舊,生成一個tex檔案,安裝前面講的方法把它包含進來。然後編譯成PDF的效果
這裡用到了幾個命令:
set size 設定圖片的大小
set format xy 設定x、y軸文字的格式
set title 設定圖片標題
set xlabel 設定x軸的文字
一般情況下,科技論文的圖片很多都含有好幾個圖線,那么這裡就介紹下如何在一張圖里顯示多張圖片。
先看代碼:
gnuplot> set terminal latex
set output "combine.tex"
set format xy "$%g$"
set title "Combination"
set xlabel "$x$ axis"
set ylabel "$y$ axis"
plot [-3.14:3.14] 0.2*x with points, sin(x) with lines
這裡沒有很特別的地方,只是plot多了一個項目,當要繪製多個圖線的時候需要用逗號來分隔,注意這裡不是中文的逗號,而是西文的逗號。另外with後面的參數是說用什麼線性來繪製。出來的效果看下面的圖:
接下來再對圖片進行加工。一般圖片x軸每個計數單位都是希望能夠控制的,而不是系統自己來決定的,那么可以通過以下的代碼來實現。
看代碼:
gnuplot> set terminal latex
set output "tic.tex"
set format y "$%g$"
set format x "$%.2f$"
set title "This is $\sin(x)$"
set xlabel "This is the $x$ axis"