QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3986|回复: 3

简要介绍gnuplot绘函数图-给新手

[复制链接]
发表于 2007-6-4 00:35:10 | 显示全部楼层 |阅读模式
简要介绍gnuplot绘函数图

计算机图形学有个小作业,需要画一个函数的图像,我瞬间想到了几种方法:

matlab
maple

mathmatica
gnuplot
metapost
octave

前三个大软件,动用起来有用牛刀杀鸡之陷,再者说用的都是D版,不大光明磊落。用metapost语言也是一个选择,但是不够简单灵活,用octave当然也行,虽说是自由软件,但是同样是把牛刀,所以就决定祭出GNU画图必备工具gnuplot。

首先是安装,我自己用的ubuntu,安装再简单不过了

[code:1]
sudo apt-get install gnuplot gnuplot-doc

[/code:1]
作业很简单,画这样一个函数: r(t)=(t^2-2t+1,t^3-2t^2+t)和y(t)=(2t+1,t^3),t是从0到1。
这样简单的函数作图是gnuplot最擅长不过的了。

写上这样一个plot.dem文件先:

[code:1]
set parametric #参数化作图
set dummy t #设置参数作图的自由变量(独立变量)
set autoscale #自动缩放
set samples 160 #采样率 默认为100

set title "" #标题设置
set key box
set key below #标题等信息的位置
set trange [0.00001:1]  #t的范围

plot  t*t-2*t+1,t*t*t-2*t*t+t title "(t^2-2t+1,t^3-2t^2+t)" #就是这个画图:)

pause -1 "Hit return to continue" #防止窗口一闪就没了

plot t*t+1,t*t*t title "(2t+1,t^3+4t+1)" #再画一张!

pause -1 "Hit return to continue" #再停

plot t*t+1,t*t*t, t*t-2*t+1,t*t*t-2*t*t+t #again
pause -1 "Hit return to continue" #pause again

[/code:1]

然后在终端里运行:

[code:1]
gnuplot plot.dem

[/code:1]
三张漂亮的图片就出来了,方便快捷吧!

等等,我们要提交作业,不能只打印到屏幕上,要有图像文件啊,什么?截图阿,太土了,更重要的是,太小看我们的gnuplot了啊。千万不能那样干:)

我们在plot之前加上一句这个

[code:1]
set terminal postscript eps color lw 1 “Helvetica” 20

[/code:1]
如果想让线条粗些,可以修改 lw 后面的 1,不信改成100你试试:)

然后再加上一句这个来设置输出文件:

[code:1]
set out ‘a.eps’
[/code:1]

现在文件是这个样子:

[code:1]
set parametric #参数化作图
set dummy t #设置参数作图的自由变量(独立变量)
set autoscale #自动缩放
set samples 160 #采样率 默认为100
set title "" #标题设置

set key box
set key below #标题等信息的位置
set trange [0.00001:1]  #t的范围
set terminal postscript eps color lw 1 "Helvetica" 20
set out 'a.eps'

plot t*t-2*t+1,t*t*t-2*t*t+t title "(t^2-2t+1,t^3-2t^2+t)" #就是这个画图:)
pause -1 "Hit return to continue" #防止窗口一闪就没了

set out 'b.eps'
plot t*t+1,t*t*t title "(2t+1,t^3+4t+1)" #再画一张!

pause -1 "Hit return to continue" #再停

set out 'c.eps'
set title ""
plot t*t+1,t*t*t, t*t-2*t+1,t*t*t-2*t*t+t #again
pause -1 "Hit return to continue" #pause again
[/code:1]
运行后就会生成eps图片了,矢量图片,可以任意缩放哦:)没用过eps?就听说过gif,jpg啥的?呵呵,没关系,不想用这样的矢量图也可以:
[code:1]
set terminal jpeg (png ) 等等都可以
[/code:1]

大家可以看看gnuplot4.0新支持的文件格式,和gnuplot4.2 新支持的文件格式,有很多可供选择:)
发表于 2007-7-6 17:49:05 | 显示全部楼层
永中office2007也可以实现
更容易操作
回复

使用道具 举报

发表于 2007-7-11 07:41:40 | 显示全部楼层
没有图形界面的工具,距离普通用户实用还有十万八千里之遥
回复

使用道具 举报

发表于 2007-7-15 11:11:52 | 显示全部楼层
这个东西,还没用过,不知道和Matlab以及Mathematica比较起来如何??

感觉这样的命令行还是比较适用于科学绘图,赫赫~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-24 12:33 , Processed in 0.068686 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表