日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

gnuplot常用技巧

發布時間:2023/12/13 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 gnuplot常用技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、基礎篇:

在linux命令提示符下運行gnuplot命令啟動,輸入quit或q或exit退出。

1、plot命令

gnuplot> plot sin(x) with linelinetype3linewidth2或

gnuplot> plot sin(x) w llt3lw2%用線畫,線的類型(包括顏色與虛線的類型)是3,線的寬度是2,對函數sin(x)作圖

gnuplot> plot sin(x) with pointpointtype3pointsize2或

gnuplot> plot sin(x) w p pt 3ps2%用點畫,點的類型(包括顏色與點的類型)是3,點的大小是2

gnuplot> plot sin(x) title 'f(x)' wlplt3lw2 pt3ps2%同時用點和線畫,這里title ‘f(x)’表示圖例上標'f(x)',如果不用則用默認選項

gnuplot> plot sin(x)%此時所有選項均用默認值。如果缺某一項則將用默認值

gnuplot> plot ‘a.dat’ u 2:3 w llt3lw2 %利用數據文件a.dat中的第二和第三列作圖

順便提一下,如這里最前面的兩個例子所示,在gnuplot中,如果某兩個詞,按字母先后順序,前面某幾個字母相同,后面的不同,那么只要寫到第一個不同的字母就可以了。如with,由于沒有其它以w開頭的詞,因此可以用w代替,line也可以用l代替。

2、同時畫多條曲線

gnuplot> plot sin(x) title ‘sin(x)’ w llt1lw2,cos(x) title ‘cos(x)’ w llt2lw2%兩條曲線是用逗號隔開的。畫多條曲線時,各曲線間均用逗號隔開就可以了。

以上例子中是對函數作圖,如果對數據文件作圖,將函數名稱換為數據文件名即可,但要用單引號引起來。

3、關于圖例的位置

默認位置在右上方。

gnuplot> set key left %放在左邊,有left和right兩個選項

gnuplot> set key bottom %放在下邊,只有這一個選項;默認在上邊

gnuplot> set key outside %放在外邊,但只能在右面的外邊

以上三個選項可以進行組合。如:

gnuplot> set key left bottom %表示左下邊

還可以直接用坐標精確表示圖例的位置,如

gnuplot> set key 0.5,0.6 %將圖例放在0.5,0.6的位置處

4、關于坐標軸

gnuplot> setxlabel‘x’%x軸標為‘x’

gnuplot> setylabel‘y’%y軸標為’y’

gnuplot> setylabel‘DOS’tclt3 %其中的tclt3表示’DOS’的顏色用第三種顏色。

gnuplot> setxtics1.0%x軸的主刻度的寬度為1.0,同樣可以為y軸定義ytics

gnuplot> setmxtics3%x軸上每個主刻度中畫3個分刻度,同樣可以為y軸定義mytics

gnuplot> set border 3lt3lw2 %設為第三種邊界,顏色類型為3,線寬為2

同樣可以為上邊的x軸(稱為x2)和右邊y(稱為y2)軸進行設置,即x2tics,mx2tics,y2tics,my2tics。

gnuplot> setxticsnomirror

gnuplot> unset x2tics%以上兩條命令去掉上邊x2軸的刻度

gnuplot> setyticsnomirror

gnuplot> unset y2tics%以上兩條命令去掉右邊y軸的刻度

5、在圖中插入文字

gnuplot> set label ‘sin(x)’ at 0.5,0.5 %在坐標(0.5,0.5)處加入字符串’sin(x)’。

在輸出為.ps或.eps文件時,如果在set term的語句中加入了enhanced選現,則可以插入上下標、希臘字母和特殊符號。上下標的插入和latex中的方法是一樣的。

6、在圖中添加直線和箭頭

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8%從(0.0,0.0)到(0.6,0.8)畫一個箭頭

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8lt3lw2%這個箭頭顏色類型為3,線寬類型為2

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8noheadlt3lw2 %利用nohead可以去掉箭頭的頭部,這就是添加直線的方法。

注意,在gnuplot中,對于插入多個的label和arrow等等,系統會默認按先后順序分別對各個label或arrow進行編號,從1開始。如果以后要去掉某個label或arrow,那么只要用unset命令將相應的去掉即可。如:

gnuplot> unset arrow 2

將去掉第二個箭頭。

7、圖的大小和位置

gnuplot>set size 0.5,0.5 %長寬均為默認寬度的一半,建議用這個取值,尤其是畫成ps或eps圖形的時候

gnuplot>set origin 0.0,0.5%設定圖的最左下角的那一點在圖形面板中的位置。這里圖將出現在左上角。

8、畫三維圖

gnuplot>splot‘文件名’ u 2:4:5 %以第二和第四列作為x和y坐標,第五列為z坐標。

9.將圖形輸出到文件

在gnuplot中,輸出文件的格式是由terminal來控制的。默認的情況下,都是輸出到屏幕,即終端模式為X11。如果想輸出到文件,則必須對terminal進行設置。要了解有那些終端類型,可以輸入set terminal后回車,所有支持的終端模式(或文件格式)都列出來了。就我來說,輸出文件的格式用得最多的是ps和eps文件。這在運行畫圖命令plot或splot前必須先運行如下兩條命令:

gnuplot>set term postepscolor solidenh

gnuplot>set output ‘a.eps’

其中第一條命令為設置終端模式,post即為postscript模式,這是輸出到ps或eps文件必須有的。后面的eps,color,solid以及enh選項均可以有或沒有,根據你的需要。eps表示輸出為eps文件,沒有就輸出為ps文件;color表示輸出圖形為彩色,不用就會保存為黑白的;solid表示輸出圖中的所有線都用實線,不用則除了第一條線為實線外,其它的均用不同的虛線;使用enh(enhanced)選項可以在圖中插入上下標、希臘字母和特殊符號,不用則不能實現這些功能。后面的選項可以根據自己的需要選擇一個或幾個。

第二條命令對output的設置表示要輸出的文件的名字。但是請注意,運行完這條命令后,還僅僅是定義了輸出文件的名字,實際上,圖還沒畫到這個文件里去。因此運行這兩條命令還只是進行了必須的設置。然后運行如下命令

gnuplot>plot sin(x) w l

gnuplot>replot(假如前面已經運行過plot或replot命令的話)

這時,圖形就在上面指定的文件中了。

要輸出為其它格式,同樣要進行這樣的設置,比如要輸出為jpg格式,則在運行畫圖命令前先運行如下命令:

gnuplot>set term jpeg

gnuplot>set output ‘a.jpg’

如果要由其它模式再返回到輸出到屏幕,則運行如下命令:

gnuplot>set term X11

二、提高篇:

1、如何在同一張圖里同時畫多個圖

gnuplot>setmultiplot%設置為多圖模式

gnuplot>set origin 0.0,0.5%設置第一個圖的原點的位置

gnuplot>set size 0.5,0.5 %設置第一個圖的大小

gnuplot>plot “a1.dat”

gnuplot>set origin 0.5,0.5%設置第二個圖的原點的位置

gnuplot>set size 0.5,0.5 %設置第二個圖的大小

gnuplot>plot “a2.dat”

gnuplot>set origin 0.0,0.0%設置第三個圖的原點的位置

gnuplot>set size 0.5,0.5 %設置第三個圖的大小

gnuplot>plot “a3.dat”

gnuplot>set origin 0.5,0.0%設置第四個圖的原點的位置

gnuplot>set size 0.5,0.5 %設置第四個圖的大小

gnuplot>plot “a4.dat”

當然,如果后一個圖中的某個量的設置和前一個的相同,那么后一個中的這個量的設置可以省略。例如上面對第二、第三和第四個圖的大小的設置。前一個圖中對某個量的設置也會在后一個圖中起作用。如果要取消在后面圖中的作用,必須用如下命令,如取消label,用

gnuplot>unset label

2、作二維圖時,如何使兩邊坐標軸的單位長度等長

gnuplot> set size square%使圖形是方的
gnuplot> set size 0.5,0.5%使圖形是你要的大小
gnuplot> setxrange[-a:a]
gnuplot> setyrange[-a:a]%兩坐標軸刻度范圍一樣
gnuplot> plot ‘a.dat’

3、如何在同一張圖里利用左右兩邊的y軸分別畫圖

gnuplot> setxticsnomirror%去掉上面坐標軸x2的刻度
gnuplot> setyticsnomirror%去掉右邊坐標軸y2的刻度
gnuplot> set x2tics%讓上面坐標軸x2刻度自動產生
gnuplot> set y2tics%讓右邊坐標軸y2的刻度自動產生
gnuplot> plot sin(x),cos(x) axes x1y2%cos(x)用x1y2坐標,axes x1y2表示用x1y2坐標軸
gnuplot> plot sin(x),cos(x) axes x2y2%cos(x)用x2y2坐標,axes x2y2表示用x2y2坐標軸
gnuplot> set x2range[-20:20]%設定x2坐標的范圍
gnuplot>replot
gnuplot> setxrange[-5:5] %設定x坐標的范圍
gnuplot>replot
gnuplot> setxlabel'x'
gnuplot> set x2label 't'
gnuplot> setylabel'y'
gnuplot> set y2label 's'
gnuplot>replot
gnuplot> set title 'The figure'
gnuplot>replot
gnuplot> set x2label 't'textcolorlt3%textcolorlt3或tclt3設置坐標軸名稱的顏色

4、如何插入希臘字母和特殊符號

一般只能在ps和eps圖中,且必須指定enhanced選項。在X11終端(即顯示器)中無法顯示。

gnuplot> set terminal postscript enhanced

然后希臘字母就可以通過{/Symbol a}輸入。例如

gnuplot> set label ‘{/Symbol a}’

各種希臘字母與特殊符號的輸入方法請見安裝包中gnuplot-4.0.0/docs/psdoc目錄下的ps_guide.ps文件。

另外還可參見:
http://t16web.lanl.gov/Kawano/gnuplot/label-e.html

5、gnuplot中如何插入Angstrom(埃)這個符號(A上面一個小圓圈)

腳本中在插入前先加入
gnuplot>set encoding iso_8859_1
這個命令,然后就可以通過“{305}”加入了。如橫坐標要標上“k(1/?)”:
gnuplot>set xlabel 'k(1/{305})
 
如果是multiplot模式,則這個命令必須放在
gnuplot>set multiplot
的前面。
 
如果后面還要插入別的轉義字符,那么還要在插入字符后加入如下命令:
set encoding default
 
安裝包中gnuplot-4.0.0/docs/psdoc/ps_guide.ps文件中的表中的‘E’代表那一列的所有符號都用這個方法輸入。

6、gnuplot畫等高線圖

gnuplot>splot‘文件名.dat’ u 1:2:3 w l%做三維圖

gnuplot>set dgrid3d 100,100 %設置三維圖表面的網格的數目

gnuplot>replot

gnuplot>set contour%設置畫等高線

gnuplot>setcntrparamlevels incremental -0.2,0.01,0.2%設置等高線的疏密和范圍,數據從-0.2到0.2中間每隔0.01畫一條線

gnuplot>unset surface去掉上面的三維圖形

最后用鼠標拽動圖形,選擇合理的角度即可。或者直接設置(0,0)的視角也可以:

gnuplot>set view 0,0

gnuplot>replot

這里注意,畫三維圖的數據文件必須是分塊的,也就是x每變換一個值,y在其變化范圍內變化一周,這樣作為一塊,然后再取一個x值,y再變化一周,作為下一數據塊,等等。塊與塊之間用一空行格開。

7、如何畫漂亮的pm3d圖

gnuplot> set pm3d%設置pm3d模式

gnuplot> setisosamples50,50%設置網格點

gnuplot>splotx**2+y**2%畫三維圖

gnuplot>splotx**2+y**2 w pm3d%畫成pm3d模式,注意比較變化

gnuplot> set view 0,0%設置視角,(0,0)將投影到底面上去

gnuplot>splotx**2+y**2 w pm3d%重畫,注意看變化

gnuplot> unsetztics%把z軸上的數字給去掉

gnuplot> setisosamples200,200%使網格變細

gnuplot>replot%重畫,注意看變化,主要是過渡更光滑

總結

以上是生活随笔為你收集整理的gnuplot常用技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。