使用gnuplot处理字符串以删除特定字符

使用gnuplot处理字符串以删除特定字符,gnuplot,Gnuplot,如果这个问题有一个明显的解决方案,我很抱歉,但是对于我来说,如果我试图使用if-else如果-else语法,我似乎无法运行我的gnuplot脚本,我必须将if-else嵌套如下(我使用的是版本4.6) 我试图做的是循环,比如说,99个文件,并根据其中的数据绘制矢量场,然后用“something001.png”这样的名称保存这些绘图,一直保存到“something099.png”,即少了一个“0”。然而,通过查看文档,我还没有找到可以做到这一点的方法(因此我使用了一些基本的if和else) #/u

如果这个问题有一个明显的解决方案,我很抱歉,但是对于我来说,如果我试图使用
if
-
else如果
-
else
语法,我似乎无法运行我的gnuplot脚本,我必须将
if
-
else
嵌套如下(我使用的是版本4.6)

我试图做的是循环,比如说,99个文件,并根据其中的数据绘制矢量场,然后用“something001.png”这样的名称保存这些绘图,一直保存到“something099.png”,即少了一个“0”。然而,通过查看文档,我还没有找到可以做到这一点的方法(因此我使用了一些基本的if和else)

#/usr/bin/gnuplot
#将矢量字段中的数据打印到同一目录
系数=0.05
设置术语png
#Xmin、Xmax、Ymin和&Ymax作为命令行参数传递
设置xrange[Xmin:Xmax]
设置Y范围[Ymin:Ymax]
do for[i=1:numImages]{
#控制输出格式(当然有快捷方式吗?)
如果(i<10){
设置输出“vectors/plot00”.i..png”
}否则{
#如果没有其他语法(我可以找到)?
如果(i<100){
设置输出“vectors/plot0.i..png”
}否则{
设置输出“向量/绘图”.i..png”
}
}
}

有没有更简单的语法来做这类事情?

所以你想要像
printf(“%d3d”,fileNum)
?(最好显示所需输出与当前输出。祝你好运。
设置输出sprintf(“向量/plot%03d.png”,i)
@Christoph这正是我要找的。所以你想要像
printf(“%d3d”,fileNum)
?(最好显示所需输出与当前输出。祝你好运。
设置输出sprintf(“向量/plot%03d.png”,i)
@Christoph这正是我想要的。
#! /usr/bin/gnuplot
# plot data in vectorfields to same directory

factor=0.05
set term png
# Xmin, Xmax, Ymin, && Ymax are passed as command line args
set xrange [Xmin:Xmax]
set yrange [Ymin:Ymax]

do for [i=1:numImages] {
    # Control output formatting (surely there's a shortcut for this?)
    if (i < 10) {
        set output "vectors/plot00".i.".png"
    } else {
        # no else-if syntax (that I can find)?
        if (i < 100) {
            set output "vectors/plot0".i.".png"
        } else {
            set output "vectors/plot".i.".png"
        }
    }
}