1

我有几个按顺序命名为“1.dat”、“2.dat”...、“100.dat”的数据文件。我想为 Gnuplot 中的每个数据文件创建一个 png(或任何其他类型)图像。我的最终目的是从这样生成的图像中创建一部电影,但我发现有一些软件包可以解决这个问题,我更愿意一步一步地做。如何编写脚本以从数据文件中创建图像?谢谢。

4

1 回答 1

5

如果你有 gnuplot 4.6,这变得很容易:

do for [i=1:100] {
   str_num=sprintf('%d',i)  #Write integer to string
   str_num2=sprintf('%03d',i) #integer as a 0 padded string
   set term png
   set output 'my_output.'.str_num2.'.png'
   plot str_num.'.txt' ...
}

请注意,我有两个版本的数字作为字符串:例如'1',用于创建输入数据文件的名称和'001'用于输出数据文件。这样,输出文件将按字典顺序排序,这使得以后制作电影更容易。


如果您没有 gnuplot 4.6,则需要使用旧的if/reread技巧:

if (! exists('i')) i=1

#Contents of previous `for` loop here...

if (i<=100) reread

最初,我认为您可能能够摆脱情节迭代,但我不这么认为。这会将所有数据放在一个图上。

于 2012-11-03T14:55:22.090 回答