Gnuplot:使用循环打印编号文件

Gnuplot:使用循环打印编号文件,gnuplot,Gnuplot,我想打印名为“0.txt”、“1.txt”、“2.txt”等数据文件 我的绘图脚本如下所示: 为[i=0:9]做的事{ 设置xrange[-0.5:7.5] 设置Y范围[-0.5:7.5] 设置术语pngcairo尺寸1280720 设置output.i.“.png” plot.i.“.txt”矩阵与图像 设置项x11 } 我在哪里。是i的占位符,从0开始,增加到9。错误消息是:“第8行:无效表达式” 您是否看到错误或有想法?使用sprintf格式化字符串: set xrange [-0.5:7

我想打印名为“0.txt”、“1.txt”、“2.txt”等数据文件

我的绘图脚本如下所示:

为[i=0:9]做的事{

设置xrange[-0.5:7.5]

设置Y范围[-0.5:7.5]

设置术语pngcairo尺寸1280720

设置output.i.“.png”

plot.i.“.txt”矩阵与图像

设置项x11

}

我在哪里。是i的占位符,从0开始,增加到9。错误消息是:“第8行:无效表达式”


您是否看到错误或有想法?

使用
sprintf
格式化字符串:

set xrange [-0.5:7.5]
set yrange [-0.5:7.5]
set term pngcairo size 1280,720

do for [i=0:9] {
    set output sprintf("%d.png", i)
    plot sprintf("%d.txt", i) matrix with image
}

首先,您应该删除
set term x11
,只需设置一次终端。 第二,将所有常量参数移到循环之外——它们根本不会改变

我使用类似的gnuplot文件,但是,我使用另一个提供一组输入值的外部脚本。对于文件名,我有几乎相同的命令,它工作得非常好。由于某些原因,您的版本的行为与此不同,因此我对其进行了一些修改:

set term pngcairo size 1280,720
set xrange [-0.5:7.5]
set yrange [-0.5:7.5]
do for [i=0:9]{
  set output "".i.".png"
  plot "".i.".txt" matrix with image
}
我已经测试过它(gnuplot 5.2 patchlevel 4),它正确地生成了一些所需的输出