我有一个数据文件,其移动点的位置采用以下格式。
x1 y1
x2 y2
x3 y3
.
.
.
我希望在 gnuplot 中使用这些数据制作动画轨迹。我怎样才能做到这一点?
我试过
do for [i=1:20] {
plot "temp.dat" every ::i using 1 : 2 w p
}
但它将所有点绘制在单个图像中,而不是动画中。这样做的方法是什么?
当我编码并被打断时... @Ethan 的答案已经包含了所有必要的成分,但我仍然发布了我的答案,并带有一些视觉演示...
查看help gif
, help stats
and help every
,这些是主要的“组成部分”。
在下面的示例中,您希望找到您正在寻找的内容。
Code:
### trajectory animated
reset session
# create some test data
v = 40
a = 45
g = 9.81
set print $Data
do for [i=0:86] {
t = i/10.
sx(t) = v*cos(a)*t
sy(t) = v*sin(a)*t - 0.5*g*t**2
print sprintf("%.3f %.3f",sx(t),sy(t))
}
set print
set xrange[0:200]
set yrange[0:80]
set term gif size 400,300 animate delay 5 optimize
set output "Trajectory.gif"
stats $Data nooutput
N = STATS_records
do for [i=0:N-1] {
plot $Data u 1:2 every ::::i w l notitle, \
'' u 1:2 every ::i::i w p pt 7 lc rgb "red" notitle
}
set output
### end of code
Result:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)