我如何限制gnuplot的自动缩放功能,以便例如y-max至少为某个值,并且它可以自动缩放到固定的"限制"?
从文档中看来,我只能看到如何固定轴的最小或最大端点,而另一个端点则自动缩放。
我如何限制gnuplot的自动缩放功能,以便例如y-max至少为某个值,并且它可以自动缩放到固定的"限制"?
从文档中看来,我只能看到如何固定轴的最小或最大端点,而另一个端点则自动缩放。
自版本4.6起,gnuplot提供了一种新的语法来指定自动缩放的上限和下限。对于您的情况,您可以使用以下语法:
set xrange [0:100 < * < 1000]
引用自文档:
自动缩放的范围可以由下限<lb>
、上限<ub>
或两者限制。 语法为
{ <lb> < } * { < <ub> }
例如
0 < * < 200
设置<lb> = 0
和<ub> = 200
。
该语法可应用于set *range
的最小值或最大值。
要自动调整xmin
但保持为正数,使用:
set xrange [0<*:]
要自动调整 x
的比例,但保持最小范围在 10 到 50:
set xrange [*<10:50<*]
请查看有关 set xrange
的文档获取更多信息。
我认为这是不可能的,要么你在一个或多个轴上启用了自动缩放,包括无、最小或最大值:
set yrange [FIXED_MIN : FIXED_MAX]
set yrange [ * : FIXED_MAX]
set yrange [FIXED_MIN : *]
set yrange [ * : ]
set yrange [*:*]
plot 'mydatafile' u 1:(($2 >= YMIN && $2 <= YMAX) ? $2 : 1/0)
stats
命令,可以将它与上面的过滤器和 gnuplot 定义的变量“GPVAL_YMIN”和“GPVAL_XMIN”配对使用,但现在我们开始变得更加复杂了。 "不可见" 的点是一个有趣的想法,我喜欢它。 - mgilsonset xrange [0:100 < * < 1000]
。 - Christoph我通过在数据开头插入一个不可见的标记来设置自动缩放的最小值。这会导致图形始终“显示”它,即使它看不到。
然后我在 gnuplot 之外(也可能在其中)实现了最大值,在一个解析器脚本中,我用它来准备 gnuplot 的数据。
实际上,在脚本中,我取出所有被“裁剪”的值,将它们加到 y=0 上,并将它们变成红色。这样我就得到了一个“警告”,告诉我某些值太大,无法用图表表示。(我的程序监视两个主机之间的 ping,试图绘制超过 5 秒的延迟是没有意义的 => 我将其标记为连接断开)