幾年前寫的一篇短文,今天找東西時翻出來了,感覺寫的還是比較實用的。放在這里供有需要的人參考吧。
### 3D繪圖
例?11:
~~~
splot [-pi:pi] [-pi:pi] sin(x)*cos(y)
~~~
產生圖?2結果?---?以縱橫各?10?條線組成的網格畫出?sin(x)*cos(y)?的圖形。

圖?3?Plotting?sin(x)*cos(y)
例?12?畫等高線圖:
~~~
set dgrid3d 100,100 #設置三維圖表面的網格的數目
set contour #設置畫等高線
set cntrparam levels incremental -0.9,0.1,0.9 #設置等高線的疏密和范圍,數據從 -0.2到0.2中間每隔0.01畫一條線
unset surface # 去掉上面的三維圖形
set view 0,0
unset key
splot [-pi:pi] [-pi:pi] sin(x)*cos(y)
~~~

例?13?畫pm3d圖
~~~
set pm3d
set isosamples 50,50
splot x**2+y**2
~~~

~~~
set view 0,0 #設置視角,(0,0)將投影到底面上去
unset ztics #把z軸上的數字給去掉
unset surface
splot x**2+y**2
reset
~~~

### 輸出文件
在啟動時,您可能注意到終端類型設置為?X11。gnuplot采用標準設計,可以在多個終端設備上繪圖。這包括直接打印到多種打印機中,包括?Epson、HP?和?Imagen?打印機。它甚至可以在偽設備中繪圖,如?postscript?和?png。這主要涉及生成輸出文件,而不是可查看文件或打印輸出。這是將您的圖表包含在其他報表中的一種技巧。
例?14?設置輸出和終端類型
~~~
set terminal png # gnuplot recommends setting terminal before output
set output ‘output.png’ # The output filename
plot sin(x)
~~~
現在,文件?output.png?中有了您剛才繪制的圖。
所有終端在能力上都不相同。其中的一些(如?LaTeX)可能不支持文本的旋轉,所以如果您像我們前面那樣設置?ylabel,在不同的終端中可能顯示不一樣。換句話說,您可以在?LaTeX?的特定終端中使用?LaTex?命令。例如,set?ylabel?$sin(\\\\theta)$(注意我們使用兩個反斜杠產生一個?LaTex?所需的反斜杠?——?gnuplot?在將雙引號中所括的字符串傳送到終端驅動程序之前,先對其進行反斜杠處理)。現在,您可以使用?\\input{output.tex}?將輸出文件包含在?LaTeX?文件中。要在?PostScript?終端中獲得相同的結果,使用相應的?PostScript?命令:{/Symbol?q}。在?enhanced?PostScript?和?LaTeX?中,您可以使用表示法?x^{superscript}?和?x_{subscript}?得到上標文字。還要注意縮寫的終端和輸出命令:
例?15??eps?驅動程序的能力
~~~
set term post enh # enhanced PostScript, essentially PostScript with bounding boxes
set out 'gplt.eps'
set xlabel '{/Symbol q_1}
set ylabel 'sin^2({/Symbol q_1})'
plot sin(x)**2
~~~
### 其他
順便說一下,我們提供的所有例子都可以在交互模式或批處理模式下運行。要以交互模式運行,在提示符中輸入每個命令。要以批處理模式運行,將命令輸入或添加到文本文件中,然后在?gnuplot提示符中使用?load?'filename'?讀入文件,或者在?shell?提示符下將其作為參數提供給?gnuplot:$?gnuplot?filename。使用第二種方法,gnuplot會在執行輸入文件中的所有命令后退出,所以當直接繪圖到文件中時,采用批處理模式執行特別有效。如果在屏幕上繪圖時使用第二種方法,輸出窗口一出現(當?gnuplot退出時)就會消失,所以您需要使用顯式的“pause?-1”命令(請參閱?help?pause)來保持窗口。
在?X?環境下,gnuplot?如同其他?X?client?程序一樣,可接受許多參數。如?
~~~
gnuplot -font 8x13bold # 設定字形為 8x13bold。
gnuplot -geometry 900x700 # 設定窗口的長為 900 pixel 寬為 700 pixel。
gnuplot -bg black # 設定背景顏色為黑色。
~~~
gnuplot?繪制數學函數或數值資料的步驟大體如:
定義常數及函數:定義常數及函數,使程式模組化及易于了解。
設定繪圖環境:gnuplot?繪圖之前已預先設定許多繪圖參數。
繪圖:在定義數學函數或設定繪圖環境之后,接著就是繪出數學函數或數值資料的圖形。gnuplot?提供操作方便的繪圖指令——plot?(2D)?或?splot?(3D)。
產生輸出結果:在終端上繪出結果后,可經由一些步驟而產生不同輸出裝置所需的輸出。
依照上述過程,可快速地畫出圖形。剩下的步驟就是細心的調整繪圖環境參數或修改函數方程式、常數等,即可得到滿意的結果。
- 前言
- gnuplot 中的數據平滑
- 利用 Maxima 求解常微分方程
- Maxima 的繪圖功能 1
- Maxima 的繪圖功能 2
- Maxima 的繪圖功能 3
- Maxima 矩陣及矢量運算 1
- Maxima 矩陣及矢量運算 3
- Maxima 矩陣及矢量運算 4
- maxima 學習筆記(coeff 函數的應用)
- maxima 代數表達式變換
- maxima 學習筆記(基本微積分)
- maxima 代數方程求解
- Maxima 中的復數運算
- Maxima 的三角函數化簡功能
- Maxima 的基本微積分操作
- 利用 gnuplot 繪制時間序列圖
- gnuplot 入門教程 1
- gnuplot 入門教程 2
- gnuplot 入門教程 3
- gnuplot 入門教程 4
- gnuplot 讀取逗號分隔的數據文件
- scilab 讀取處理 wav 文件
- scilab 讀取處理 wav 文件 (2)
- Scilab 處理聲音數據(補充)
- 利用 SCILAB 設計 FIR 濾波器(窗函數法)
- 利用 SCILAB 設計 FIR 濾波器(Minimax法)
- 利用 SCILAB 設計 iir 濾波器設計(模擬濾波器雙線性變換法)
- Scilab 的繪圖函數(1)
- Scilab 的繪圖函數(2)
- Scilab 的繪圖函數(3)
- Scilab 的繪圖函數(4)