Time 如何在gnuplot中显示连续绘图标题上的时间步长

Time 如何在gnuplot中显示连续绘图标题上的时间步长,time,gnuplot,Time,Gnuplot,我使用的是Gnuplot版本4.6。我正在根据连续创建的数据文件绘制物理量(比如气压)随空间位置变化的图形。为了获得不同时间步的这些图形的动画,我使用以下循环: gnuplot> do for [n=0:400]{plot [0:1] [0:1] sprintf("data.%04d.tab", n) using 1:5 with lines title 'Time in seconds= ' .n} 我需要在这些连续的图形上显示自模拟开始以来经过的物理时间,这个时间正好等于在该图形上创

我使用的是Gnuplot版本4.6。我正在根据连续创建的数据文件绘制物理量(比如气压)随空间位置变化的图形。为了获得不同时间步的这些图形的动画,我使用以下循环:

gnuplot> do for [n=0:400]{plot [0:1] [0:1] sprintf("data.%04d.tab", n) using 1:5 with lines title 'Time in seconds= ' .n}
我需要在这些连续的图形上显示自模拟开始以来经过的物理时间,这个时间正好等于在该图形上创建的数据文件的数量,乘以一个恒定的时间(物理问题的单位时间,乘以数据文件写入之间的时间)

我的问题是-如何使用文件编号在标题中显示物理时间


我试图将文件号n乘以常数时间(在我的问题中:9e^-6秒),但这限制了绘图的数量。如何克服这一问题?

使用
sprintf
来操作字符串

在您的例子中,标题应该是
sprintf('Time In seconds=%.2f',n*9e-6)

所以你的命令是:

do for [n=0:400]{plot [0:1] [0:1] sprintf("data.%04d.tab", n) using 1:5 with lines title sprintf('Time in seconds= %.2f',n*9e-6)}
如果需要标题(而不是图例),可以使用
set title
命令:

do for [n=0:400] { 
    set title  sprintf('Time in seconds= %.2f',n*9e-6)
    plot [0:1] [0:1] sprintf("data.%04d.tab", n) using 1:5 with lines nottile
}
用字符串可以做更多的事情,看