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