String Gnuplot:使用字符串变量定义列

String Gnuplot:使用字符串变量定义列,string,variables,gnuplot,multiple-columns,String,Variables,Gnuplot,Multiple Columns,出于各种原因,执行某个绘图的最简单方法似乎是将所需的列号存储在变量中,然后执行调用该变量的绘图命令 这可能吗 我想实现以下目标: plot '< paste '.filesString.'' u 1:(columnsString) 例如,它需要能够计算字符串中所有(6*2-4)样式的和。我想强调的是,这个问题只是关于'columnsString'的计算,'FileString'变量工作正常。如何管理此操作?为此,您可以使用set macro。使用此设置,您可以使用字符串变量columnS

出于各种原因,执行某个绘图的最简单方法似乎是将所需的列号存储在变量中,然后执行调用该变量的绘图命令

这可能吗

我想实现以下目标:

plot '< paste '.filesString.'' u 1:(columnsString)

例如,它需要能够计算字符串中所有(6*2-4)样式的和。我想强调的是,这个问题只是关于'columnsString'的计算,'FileString'变量工作正常。如何管理此操作?

为此,您可以使用
set macro
。使用此设置,您可以使用字符串变量
columnString
,并在计算此变量之前将其内容放在命令中的某个位置:

set macros
columnString = 'column(2)*column(5) + column(6*2-4)*column(6*2-1)'
plot '< paste '.filesString using 1:(@columnString)
设置宏
columnString='列(2)*列(5)+列(6*2-4)*列(6*2-1)'
使用1:(@columnString)打印“
我使用了
column()
而不是速记
$..
来防止转义过程中可能出现的问题(好像您是从某个脚本调用这个)

set macros
columnString = 'column(2)*column(5) + column(6*2-4)*column(6*2-1)'
plot '< paste '.filesString using 1:(@columnString)