数据文件

时间:2015-12-07 20:11:03

标签: gnuplot

我意识到这可能是微不足道的,如果我有更多的时间,我可能很容易自己处理它,但我已经没时间了,我迫切需要让这个动画尽快运行。

我有

类型的数据文件
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初学者,谷歌搜索并没有多大帮助。我非常感谢任何帮助。干杯!

1 个答案:

答案 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'

这是一个示例输出: example

相关: