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

时间:2013-09-25 11:31:13

标签: string variables gnuplot multiple-columns

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

这甚至可能吗?

我希望实现以下目标:

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

此外,变量'columnsString'将具有类似

的值
(\$2*\$5+\$(6*2-4)*\$(6*2-1))
例如,

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

1 个答案:

答案 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()而不是简写$..来防止转义时可能出现的问题(好像你是从某个脚本调用这个)。