我意识到这可能是微不足道的,如果我有更多的时间,我可能很容易自己处理它,但我已经没时间了,我迫切需要让这个动画尽快运行。
我有
类型的数据文件0 28.3976 25.1876 12.7771
0.03125 34.1689 21.457 9.70863
0.0625 35.7084 17.6016 5.03987
0.09375 34.3048 13.6718 1.45238
...
其中第一列意味着被视为时间(事实上它是某个ODE系统的数值解)。现在。我需要的是一个动画,最后三列的3d绘图跟踪曲线随着时间的推移而移动。那可行吗?如果是这样,怎么样?我是一个完整的gnuplot初学者,谷歌搜索并没有多大帮助。我非常感谢任何帮助。干杯!
答案 0 :(得分:1)
以下内容应该会显示一个动画情节:
# define fixed axis-ranges
set xrange [-1:1]
set yrange [0:20]
set zrange [-1:1]
# filename and n=number of lines of your data
filedata = 'data.dat'
n = system(sprintf('cat %s | wc -l', filedata))
do for [j=1:n] {
set title 'time '.j
splot filedata u 2:3:4 every ::1::j w l lw 2, \
filedata u 2:3:4 every ::j::j w p pt 7 ps 2
}
splot命令的第一行绘制托盘,第二行绘制当前时间点。
如果你想要这个输出的gif,只需在for循环之前添加以下内容:
set term gif animate
set output 'output.gif'
相关: