怎么用gnuplot画动图
来源:互联网 发布:php初级程序员面试题 编辑:程序博客网 时间:2024/06/11 09:52
大家都知道,gnuplot作图功能强大,但是有很多功能都是靠自己去摸索实验的,只有有创意,有想法,才会画出赏心悦目的图像。
首先提供一个有gnuplot教程的网址http://www.gnuplotting.org/tag/animation/
我是看了这些例子后自己摸索的。
画动图我分为两种,一种是直接输出很多张图片,然后用某些flash软件合成,我用的是Ulead gif animator。另外一种是直接输出gif图片,这才是我想讲的重点。
(一)用输出很多图片然后合成的方式
我直接给链接http://www.gnuplotting.org/animation-iv-trajectory/
在这个网址里面的图片上直接有code、data下载。
(二)直接输出gif图像
(1)知道公式的情况下画图
这个需要用到for循环,看下面的代码:
set term gif animate delay 10 size 960,960
set title 'the sin(x) picture'
set output "sin(x).gif"
set xlabel 'x'
set ylabel 'y'
set xrange[0:8*pi]
set yrange[-1:1]
unset key
i=1
load 'loopersinx.plt'
(looper.plt文件代码是下面的带#的三行)
#plot sin(x+i*pi/5)
#i=i+1
#if(i<40) reread
set output
关键在于需要用两个文件来写,在其中一个文件调用另一个looper文件实现gif的编辑,这是画gif的关键。其他设置比如delay之类的参数这里就不细说了。
这是画出来的效果图:
(2)画数据点,没有公式。
这是知道公式前提下画出的图,但是有时候没有公式,只有一串数据怎么办呢?
这时候需要用到every,用法为every step::fist:last 第一个参数为步长,第二个为其实点,第三个终止点。我直接给出一个画三维图的例子。
set term gif animate delay 20 size 960,960
set title 'the sin and cos'
set output "animate3.gif"
set xlabel 'x'
set ylabel 'y'
set zlabel 'z'
set xrange [-1:1]
set yrange [0:20]
set zrange [-1:1]
unset key
i=1
load 'looper1.plt'
looper1.plt 的文件内容如下:
splot 'spiral.txt' every ::i::i with points pointsize 6 pointtype 7
i=i+1
if(i<100) reread
这里every的i::i画出来是一个点,如果要画点加线用到every 1::0::i
还有一个三维图的例子:
代码如下:
set term gif animate delay 20 size 500,700
set title 'the wave guide'
set output "animate4.gif"
set xlabel 'x'
set ylabel 'y'
set zlabel 'z'
#set xrange [40:120]
set yrange [40:120]
set zrange [-160:180]
unset key
i=6420
load 'looper1.plt'
set output
looper1.plt的代码如下:
splot 'wave.txt' every 1::6419::i with linespoints pointsize 1 pointtype 1
set hidden3d
i=i+120
if(i<19200) reread
具体的txt文件在这里就不展示了。
- 怎么用gnuplot画动图
- gnuplot
- gnuplot
- gnuplot
- gnuplot
- gnuplot
- 用Gnuplot进行批处理作图
- 用gnuplot画数据图
- 用gnuplot绘制你的数据
- 用gnuplot绘制你的数据
- 用gnuplot画三维彩色点+标签
- 每周一荐:用gnuplot绘制函数曲线
- Leach能量分析及用gnuplot绘制曲线
- 用gnuplot画图,扔latex里面。一个简单的例子。
- GNUPLOT使用手册
- 安装gnuplot
- Gnuplot绘图
- gnuplot用法
- case class 跟普通class有什么区别
- 【数据结构】单链表
- spring如何集成一主多从的redis
- Python 爬虫3——第一个爬虫脚本的创建
- 面试总结(malloc、虚继承、assert)
- 怎么用gnuplot画动图
- Oracle pl/sql 出现"PLS-00103: 出现符号""在需要下列之一时" 错误
- Android SQLite的介绍
- 按钮翻转并控制视图的翻转(带动画)Demo
- 封装控件,需要重写的方法
- 计算思维实践之路(四)
- 关于元素层叠顺序的探讨
- 面试题58:二叉树的下一个节点
- 资本的力量