本文介绍了如何在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中添加依赖时间的标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-24 18:16