歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> Gnuplot科學繪圖——入門篇

Gnuplot科學繪圖——入門篇

日期:2017/2/27 14:18:07   编辑:更多Linux

安裝 由於gnuplot在Linux和windows下都有相應的版本,我會分開介紹它們的安裝。其實安裝都很簡單。linux使用的是debian sarge1. Linux下的安裝在命令行下輸入# apt-get install gnuplot系統自動獲取包信息、處理依賴關系,就可以完成安裝安裝完畢後,在命令行下運行:$ gnuplot就進入了gnuplot系統出現:gnuplot>這個是這個軟件的提示符,熟悉shell的同學都曉得這個gnuplot的shell。所有的命令都在這裡輸入。2. Windows下的安裝 到http://www.sourceforge.net搜索gnuplot,然後下在win32的zip壓縮包,裡面包含全部需要的文件,下載,釋放到本地硬盤的目錄裡,假設是c:\gnuplot。然後到這個目錄的下查找bin這個目錄,在bin目錄下有一個名為wgnuplot.exe的文件,雙擊該文件,就出現了GUI界面的gnuplot,如圖:至此,你已經成功安裝了gnuplot,可以開始下面的操作了

新手上路、牛刀小試既然安裝好了gnuplot,那就要來試試看,畫個最簡單的吧,sin(x)在提示符下面輸入:gnuplot> plot [-3.14:3.14] sin(x)然後就可以看到結果了,如圖: 點擊查看大圖 上面有橫軸有縱軸,還有圖例,好像比較小巧的軟件還不能有那麼全的功能,我知道的就是matlab可以畫,可能其他數學軟件也可以,不過比起這個小個頭的軟件..........如果你不需要上面的圖例,你可以在運行: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}編譯成PDF後的效果如圖 點擊查看大圖以後凡是要生成插入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" set ylabel "$\sin(x)$" set xtics -pi, pi/4 plot [-pi:pi] sin(x)把生成的tex文件插入你的latex文件中,就出現了以下的效果: 點擊查看大圖 還是沒有大變化,就加了一個set xtics這個是設置x的間距,也就是從-pi開始、每隔pi/4出現一次,pi是gnuplot內建的一個變量,所以只要輸入pi,系統知道其含義。





Copyright © Linux教程網 All Rights Reserved