【问题标题】:Gnuplot minimum and maximum boundaries for autoscalingGnuplot 自动缩放的最小和最大边界
【发布时间】:2012-07-01 11:06:21
【问题描述】:

如何限制 gnuplot 的自动缩放,以便以 y-max 为例,它至少是一个特定值,并且会自动缩放到固定的“限制”?

通过查看文档,我只看到了如何修复轴的最小或最大端,而另一个是自动缩放的。

About autoscaling on PDF page 93

【问题讨论】:

  • 您能否阐明自动缩放的含义?您想将 ymax 设置为某个值,还是想缩放数据以使其最大值具有某个值?
  • @andyras ymax 示例:(ymax 的)最小值可以是 100,最大值是 1000。如果最高数据点是 50,则 ymax 将为 100。它会自动缩放到 1000。之后这些值将被删除。

标签: plot gnuplot scaling autoscaling


【解决方案1】:

我认为这是不可能的,要么您在 no-、min- 或 max- 上进行自动缩放,要么在两个轴上进行自动缩放,即:

set yrange [FIXED_MIN : FIXED_MAX]
set yrange [        * : FIXED_MAX]
set yrange [FIXED_MIN :         *]
set yrange [        * :          ]

分别。

【讨论】:

  • 看来真的是这样,而不是我找不到。似乎我必须使用数据手动扩展
【解决方案2】:

在这种情况下,您可以过滤数据并让 gnuplot 进行正常的自动缩放:

set yrange [*:*]
plot 'mydatafile' u 1:(($2 >= YMIN && $2 <= YMAX) ? $2 : 1/0)

【讨论】:

  • 这几乎就是我所做的(但在 gnuplot 之外)。抱歉,如果我读错了代码,但忽略了 YMIN 以下的每个值?您可能稍微误解了我想要的内容(例如 Ymin=0,Ymax=100-1000)。我通过添加一个数据点来解决这个问题,背景颜色(所以它是不可见的)在 YMIN。这给了我想要的效果。
  • @varesa -- 如果您使用的是 gnuplot 4.6,还有 stats 命令,您可以将上述过滤器和 gnuplot 定义的变量配对:GPVAL_YMINGPVAL_XMIN,但现在我们开始变得有点复杂了。然而,“隐形”点是一个有趣的想法——我喜欢它。
  • @mgilson Gnuplot 4.6 甚至为自动缩放的上限和下限添加了新语法,例如set xrange [0:100 &lt; * &lt; 1000]
【解决方案3】:

由于人们似乎对这个问题感兴趣,我将添加我解决这个问题的方式作为答案:

我通过在数据的开头插入一个不可见的标记来最小化自动缩放。这导致情节总是“显示”它,即使它看不到。

然后我在一个用来准备数据的解析器脚本中实现了 gnuplot 之外的最大值(可能在其中也有可能,看看 mgilson 的答案) gnuplot。

实际上,在脚本中,我提取了所有“剪掉”的值,将它们添加到 y=0,并将它们设为红色。这样我得到一个“警告”,值太大而无法绘制图表。 (我的程序监控两个主机之间的 ping,尝试绘制 5s+ 延迟是没有意义的 => 我将其标记为连接断开)

【讨论】:

    【解决方案4】:

    自 4.6 版以来,gnuplot 提供了一种新语法来指定自动缩放的上限和下限。对于您的情况,您可以使用

    set xrange [0:100 < * < 1000]
    

    引用文档:

    执行自动缩放的范围可能受到下限&lt;lb&gt; 或上限&lt;ub&gt; 或两者的限制。语法是

    { <lb> < } * { < <ub> }
    

    例如

    0 < * < 200
    

    设置&lt;lb&gt; = 0&lt;ub&gt; = 200

    该语法可以应用于set *range 的最小值或最大值。

    要自动缩放xmin,但要保持正数,请使用

    set xrange [0<*:]
    

    要自动缩放 x,但保持最小范围为 10 到 50:

    set xrange [*<10:50<*]
    

    有关更多信息,请参阅有关 set xrange 的文档。

    【讨论】:

      猜你喜欢
      • 2016-05-19
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多