Animation 从gnuplot中的数据文件绘制多个图形和动画

Animation 从gnuplot中的数据文件绘制多个图形和动画,animation,plot,gnuplot,gif,Animation,Plot,Gnuplot,Gif,假设我有以下示例数据文件 0 1 2 0 3 4 0 1 9 0 9 2 0 19 0 0 6 1 0 11 0 1 3 2 1 3 4 1 1 6 1 9 2 1 15 0 1 6 6 1 11 1 2 3 2 2 4 4 2 1 6 2 9 6 2 15 0 2 6 6 2 11 1 第一列给出了时间的值。第二列给出x

假设我有以下示例数据文件

0   1   2
0   3   4   
0   1   9
0   9   2
0   19  0
0   6   1
0   11  0
1   3   2
1   3   4   
1   1   6
1   9   2
1   15  0
1   6   6
1   11  1
2   3   2
2   4   4   
2   1   6
2   9   6
2   15  0
2   6   6
2   11  1
第一列给出了时间的值。第二列给出x和第三列y的值。我希望在不同的时间,从这个数据文件中,将y的图形绘制为x的函数

i、 e,对于t=0,我将使用2:3绘制符合t=0索引的线。对于t=1的变量,我也要做同样的事情


在一天结束时,我想得到一个gif,也就是说,一个y和x图形随着时间的推移如何改变形状的动画。在gnuplot中如何实现这一点?

到目前为止,您尝试了什么?检查帮助和帮助gif

您需要使用三元运算符过滤数据,然后创建动画

代码:

结果:

补充:

$1==i?$3:NaN的意思是:


如果第一列中的值等于i,则结果是第三列中的值,否则它将不是一个数字。

您能为这些内容提供参考吗?就像gnuplot控制台类型帮助中使用的语法一样,比如optimize,delay 50,ti,pt 7,$1==i?$3:NaN……例如optimize,delay->help gif$1==i?$3:NaN->help;ti是title的缩写,pt abbrev。对于点类型。我不能在这里复制完整的gnuplot手册。选中此项:
### plot filtered data and animate
reset session

$Data <<EOD
0   1   2
0   3   4   
0   1   9
0   9   2
0   19  0
0   6   1
0   11  0
1   3   2
1   3   4   
1   1   6
1   9   2
1   15  0
1   6   6
1   11  1
2   3   2
2   4   4   
2   1   6
2   9   6
2   15  0
2   6   
2   11  1
EOD

set terminal gif animate delay 50 optimize
set output "myAnimation.gif"

set xrange[0:20]
set yrange[0:10]
do for [i=0:2] {
    plot $Data u 2:($1==i?$3:NaN) w lp pt 7 ti sprintf("Time: %g",i)
}
set output
### end of code