我想说我想为每个x
坐标打印一个标签,但是在固定高度,而不是偏移到相关点?
即我想替换:
plot ... , '' u 1:2:(sprintf(...)) w labels offset char 1,1 notitle
类似
plot ..., '' u 1:(fixed coordinate):(sprintf(...)) w labels notitle
有可能吗?
答案 0 :(得分: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 using
和help using examples
。