本文介绍了如何在gnplot中添加依赖时间的标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
数据文件包含三列,第一列和第二列表示由第三列给出的一次圆的x&;y位置(以秒为单位)。例如,";data.txt";中的前两行给出了time=0时两个圆的位置,然后是两个空行,然后是time=0.1秒时两个圆的位置,依此类推。data.txt的前几行是: 0 0 0
-1 -1 0
1 1.0 0.1
-1 -0.5 0.1
1.2 1.25 0.2
-0.5 -0.25 0.2
...
生成带有两个圆在时间上的位置的一系列帧(一部电影)的gnplot代码是:
set terminal gif size 1200,1200 animate delay 500
set output "movie.gif"
stats "data.txt" u 1:2 name "A"
set style circle radius graph 0.025; set style fill solid
set xrange [A_min_x*1.1:A_max_x*1.1]
set yrange [A_min_y*1.1:A_max_y*1.1]
do for [i=0:A_blocks-2] {
plot "data.txt" index i u 1:2 w circle
}
我尝试将形式为";time=?";的标签或文本框添加到用第三列中的数字替换问号的每个帧。有什么建议吗?
推荐答案
此答案需要当前版本的Gnplot5.4
假设给定数据挡路中的所有第3列条目都相同,那么说
就足够了plot "data.txt" index i u 1:(FOO=strcol(3),column(2)) w circle title sprintf("Time = %s",FOO)
这将更新使用的每一行的foo的值。标题使用了该剧情的最终更新。如果您必须从挡路中的特定行中特别选择第3列的值,或者计算类似于平均值的值,那么这就是一个较难的问题。那样的话,请澄清一下。
编辑:
这需要5.4的原因是,早期版本在读取该绘图的数据之前评估了标题。5.4版在读取数据后评估标题。
这篇关于如何在gnplot中添加依赖时间的标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!