假设我想为x
我拥有的每个坐标打印一个标签,但高度是固定的,而不是在问题点的偏移处?
即我想替换:
plot ... , '' u 1:2:(sprintf(...)) w labels offset char 1,1 notitle
有类似的东西
plot ..., '' u 1:(fixed coordinate):(sprintf(...)) w labels notitle
有这种可能吗?
是的,这是可能的,这几乎就是您指定的。您可以使用文字编号指定列,但是当您使用带括号的表达式时,gnuplot 会将其解释为要计算的表达式(在此表达式中,列可以通过 $1、$2 等来引用)。
因此,如果您想将 y 坐标固定为 5(例如),您可以这样做
plot datafile u 1:(5):(sprintf(...)) w labels notitle
读取此表达式时,gnuplot 会将未加括号的 1 解释为列规范,但会将括号中的文字数字视为要计算的表达式 - 在本例中,这是一个非常简单的表达式,计算结果为 5。
可以使用相同的方法来转换要绘制的数据。例如,plot datafile u ($1*2):(sin($2))
将在 x 坐标等于第 1 列中值的两倍且 y 坐标等于第 2 列中值的正弦值的点绘制数据 - 只要它在括号中,gnuplot 就会将其视为表达式对每个点进行评估。
请参阅help using
和help using examples
了解更多信息。