0

假设我想为x我拥有的每个坐标打印一个标签,但高度是固定的,而不是在问题点的偏移处?

即我想替换:

plot ... , '' u 1:2:(sprintf(...)) w labels offset char 1,1 notitle

有类似的东西

plot ..., '' u 1:(fixed coordinate):(sprintf(...)) w labels notitle

有这种可能吗?

4

1 回答 1

2

是的,这是可能的,这几乎就是您指定的。您可以使用文字编号指定列,但是当您使用带括号的表达式时,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 usinghelp using examples了解更多信息。

于 2016-03-14T10:07:10.647 回答