我可以在 gnuplot 中设置默认的 Y 范围吗?

Can I set a default Y range in gnuplot?

我的图表将根据 运行 时间数据生成,例如用户提供的时间范围。我无法提前知道请求的 xrange 中的数据是否真的存在。

如果不是,我想显示一个空白图(X=请求的时间范围,但任意 Y 比例)而不是必须处理错误消息 "all points y value undefined!".

我读到可以 运行 stats(在 gnuplot 4.6 中)或其 gnuplot 4.4 等同于 运行ning plotset term unknown 收集统计数据,然后在正确绘制之前手动设置范围。

但是,我担心在 ~200MB ASCII 输入上有效 运行ning plot 两次,并且像这样扫描整个文件只是为了确定 Y 范围似乎很浪费如果我的 set xrange 指令不包含任何数据点,我实际上不需要任何特定的 Y 范围。

是否可以说服 gnuplot 安静地接受缺少数据点并向我显示一个空图,而不像我已经做的那样迭代数据?

错误消息由自动缩放引起。只有当你设置一个固定的 yrange 时,你才能绘制一个空图。例如考虑

plot 1/0

给出相同的错误消息 all points y value undefined!,而命令

plot [][0:1] 1/0

生成空图。

不,gnuplot 没有任何类型的默认 yrange,当自动缩放失败时使用(在 5.0 版中也没有)。我想这不是 gnuplot 的工作区,自动 处理错误的用户输入并显示一个空图形,无论它得到什么无效输入。