由于各种原因,对我来说执行某个绘图的最简单方法似乎是将我需要的列号存储在一个变量中,然后执行一个调用该变量的绘图命令。
这可能吗?
我想实现这样的目标:
plot '< paste '.filesString.'' u 1:(columnsString)
此外,变量“columnsString”的值将类似于
(\$2*\$5+\$(6*2-4)*\$(6*2-1))
例如,它需要能够评估字符串中的所有 (6*2-4) 样式总和。我想强调的是,这个问题仅与“columnsString”的评估有关,“filesString”变量工作正常。我该如何管理?
最佳答案
为此,您可以使用设置宏
。使用此设置,您可以使用字符串变量 columnString
,并在对其进行评估之前将其内容放在命令中的某处:
set macros
columnString = 'column(2)*column(5) + column(6*2-4)*column(6*2-1)'
plot '< paste '.filesString using 1:(@columnString)
我使用 column()
而不是简写 $..
来防止可能出现的转义问题(好像您是从某个脚本中调用它)。
关于string - Gnuplot:使用字符串变量定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003717/