是否可以相对于图形和数据设置gnuplot标签?

时间:2015-05-07 12:33:32

标签: gnuplot

我有一个折线图,我想在其中放置一个坐标基于(x,y)的标签,其中:

x would be relative to the graph at position (x = 0.01)
y would be relative to the data at position (value = 32)

是否有可能将此标签显示在哪里?" float"垂直取决于32是否在当前的yrange中(换句话说,如果yMin< 32< yMax,将显示标签,否则不显示) - 这样结果看起来大致如下:

enter image description here

1 个答案:

答案 0 :(得分:0)

是的,有可能。令我沮丧的是Gnuplot如何处理浮点计算。在我期待一个小数值的地方,实际上我得到零。我的问题的关键是Gnuplot需要的想法,以便"思考"以浮点术语:

stats dataFileForecast using 2 nooutput
freezeWarning   = 32.
Yhigh           = STATS_max + 10.
Ylow            = STATS_min - 10.
freezeLabel     = ((freezeWarning-Ylow) / (Yhigh-Ylow))

set yrange [Ylow:Yhigh]
if (32 > Ylow) set label "32°" at graph 0.01,freezeLabel tc rgb "#FFFFFF" font ",8"

关键是'点'公式中使用的整数表示法允许浮点计算(其他人也许可以向我解释为什么这是必要的...)标签图坐标在0和1之间(因此中间将是0.5)因此需要分数答案。

公式" freezeLabel"计算x轴上方或下方的百分比,其中32将根据绘图Yrange刻度绘制。如果32小于Ylow,则标签不会绘制(if语句),但数学会起作用,只是将标签绘制为负Y值(因此看不见。)

enter image description here