您可以在gnuplot中执行字符串吗?

问题描述

在gnuplot中,有什么方法可以在变量中指定命令,例如:

command = "plot x**2 with lines"

,然后使用以下命令“执行”该命令:

exec command

解决方法

使用eval

echo help eval | gnuplot
 The `evaluate` command executes the commands given as an argument string.
 Newline characters are not allowed within the string.

 Syntax:
       eval <string expression>

 This is especially useful for a repetition of similar commands.

 Example:
       set_label(x,y,text) \
         = sprintf("set label '%s' at %f,%f point pt 5",text,x,y)
       eval set_label(1.,1.,'one/one')
       eval set_label(2.,'two/one')
       eval set_label(1.,2.,'one/two')

 Please see `substitution macros` for another way to execute commands
 from a string.