gnuplot - "simulating" 输入硬编码坐标
gnuplot - "simulating" input to hardcode a coordinate
假设我想为我拥有的每个 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 (*2):(sin())
将在 x 坐标等于第 1 列中值的两倍且 y 坐标等于第 2 列中值的正弦的点处绘制数据 - 只要它在括号中,gnuplot 就会处理它作为要为每个点计算的表达式。
有关详细信息,请参阅 help using
和 help using examples
。
假设我想为我拥有的每个 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 (*2):(sin())
将在 x 坐标等于第 1 列中值的两倍且 y 坐标等于第 2 列中值的正弦的点处绘制数据 - 只要它在括号中,gnuplot 就会处理它作为要为每个点计算的表达式。
有关详细信息,请参阅 help using
和 help using examples
。