喜歡數學的人,都說數學公式是世界上最簡潔而深刻的詩,數學曲線是世界上最美的圖畫。本周給大家推薦一個開源的函數曲線繪制工具:gnuplot。別小看這個工具,年齡和我一般大,gnuplot 是在 1986 年由 Colin Kelley 和 Thomas Williams 最初開發的。許多參與者都在為不同的“終端”創建變種方面做出了貢獻。在 1989 和 1990 年,這些變種被合並到 gnuplot 2.0 中。2004 年 4 月,發布了 4.0 版本。前綴gnu千萬不要誤解和Linux世界的GNU有關系,只是一個巧合,gnuplot被開發出來的時候,GNU不久才誕生。
Gnuplot 是一種免費分發的繪圖工具,可以移植到各種主流平台。它可以下列兩種模式之一進行操作:當需要調整和修飾圖表使其正常顯示時,通過在 gnuplot 提示符中發出命令,可以在交互模式下操作該工具。或者,gnuplot 可以從文件中讀取命令,以批處理模式生成圖表。例如,如果您正在運行一系列的實驗,需要每次運行后都查看結果圖表;或者當您在圖表最初生成很久以后需要返回圖表修改某些內容時,批處理模式能力會特別有用。當在 WYSIWIG 編輯器中很難捕獲用於修飾圖表的鼠標單擊事件時,您可以很容易地將 gnuplot 命令保存在文件中,六個月后將其加載到交互式會話中重新執行。
啟動界面:
繪制二維函數曲線:
damp(t) = exp(-s*wn*t)/sqrt(1.0-s*s) per(t) = sin(wn*sqrt(1.0-s**2)*t - atan(-sqrt(1.0-s**2)/s)) c(t) = 1-damp(t)*per(t) wn = 1.0 set xrange [0:13] set samples 50 set dummy t set key box plot s=.1,c(t),s=.3,c(t),s=.5,c(t),s=.7,c(t),s=.9,c(t),s=1.0,c(t),s=1.5,c(t),s=2.0,c(t)
繪制三維曲面:
set samples 20 set isosamples 20 set view 60,30 set xrange [-3:3] set yrange [-3:3] set zrange [-1:1] set ztics -1,0.5,1 set grid z set border 4095 splot sin(x) * cos(y)
繪制直方圖:
set title "A demonstration of boxes in mono with style fill pattern" set samples 11 set boxwidth 0.5 set style fill pattern border plot [-2.5:4.5] 100/(1.0+x*x) title 'pattern 0' with boxes lt -1, \ 80/(1.0+x*x) title 'pattern 1' with boxes lt -1, \ 40/(1.0+x*x) title 'pattern 2' with boxes lt -1, \ 20/(1.0+x*x) title 'pattern 3' with boxes lt -1
上面隨便舉了幾個例子,gnuplot提供了很多函數曲線顯示控制的命令。能繪制的曲線有兩種:1> 數學函數;2> 數據文件。gnuplot用於數據可視化是個不錯的選擇。小巧但功能強大,推薦給喜歡數學的同學。
更多資料:
2012/05/17 21:30 於上海