gnuplot - 有没有办法让一变量实时绘图显示带标签的最新值?

gnuplot - 有没有办法让一变量实时绘图显示带标签的最新值?

我正在使用一个数据记录系统,该系统每 2 分钟向名为 Today.dat 的数据文件添加一个值。

数据如下:

在此输入图像描述

这是我使用的 gnuplot 程序,其中 X 是时间,Y 是电压。它还绘制了一些显示恒定临界值的线:

在此输入图像描述

您会注意到我在绘图命令之后使用了以下两个命令:

pause 30
reread

这使得绘图变得生动,并向我显示太阳能发电站电池组的电压读数。

情节很棒。它会自动更新,因此显示接近实时。

这是一个例子:

在此输入图像描述

所以我的问题是:

有没有办法让屏幕上的文本框在图表更新时仅显示最新的电压读数?

答案1

这是一个非常有用的答案,取自上面@steeldriver 的评论。

有没有办法为 gnuplot 中的最后一个条目添加标签?

摘抄:

如果您使用的是 unixoid 系统,则可以使用 tail 从文件中提取最后一行,并以您想要的任何方式单独绘制它。举一个简单的例子:

plot\
"data.dat" w l,\
"< tail -n 1 data.dat" u 1:2:2 w labels notitle

这将用线条绘制整个 data.dat 并用标签绘制最后一个点,标签描述该值。

由 Wrzlprmft 发布(向您致敬)

这并不完全符合我的预期,但它确实能完成工作。我必须弄清楚 1:2:2 的事情,并将其更改为 2:($3):3

它与我的绘图命令相同,但我使用第三个标签变量绘制第二个绘图。

以下是一个问答,可以解释原因:

标记单个数据点 gnuplot

这是一个冗长的解释,基本上说它是 x:y:l

解释 x:y:l —— x 是时间,y 有 ($3),因为它被用作数值。 l 只是第 3 列的文字。因此在我的示例中为 2:($3):3。 notitle是否存在,所以它没有出现在图例中。

相关内容