出于各种原因,似乎执行某个绘图的最简单方法是让我在变量中存储我需要的列号,然后执行一个调用该变量的绘图命令。
这甚至可能吗?
我希望实现以下目标:
plot '< paste '.filesString.'' u 1:(columnsString)
此外,变量'columnsString'将具有类似
的值(\$2*\$5+\$(6*2-4)*\$(6*2-1))
例如,因此需要能够评估字符串中的所有(6 * 2-4)样式总和。我想强调的是,这个问题只是关于'columnsString'的评估,'filesString'变量工作正常。我该如何管理?
答案 0 :(得分:4)
为此,您可以使用set macro
。使用此设置,您可以使用字符串变量columnString
,并在评估之前将其内容放在命令中的某处:
set macros
columnString = 'column(2)*column(5) + column(6*2-4)*column(6*2-1)'
plot '< paste '.filesString using 1:(@columnString)
我使用column()
而不是简写$..
来防止转义时可能出现的问题(好像你是从某个脚本调用这个)。