gnuplot - "模拟"输入以硬编码坐标

时间:2016-03-14 09:19:55

标签: layout plot label gnuplot hardcoded

我想说我想为每个x坐标打印一个标签,但是在固定高度,而不是偏移到相关点?

即我想替换:

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

类似

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

有可能吗?

1 个答案:

答案 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 usinghelp using examples