是否可以在多时隙中使用GPVAL_Y_MIN和GPVAL_Y_MAX?

时间:2013-12-04 15:09:03

标签: gnuplot

我正在多个图中绘制六个不同的图。我想自动调整轴。绘制的值是从每次执行中不同的txt文件中获取的,因此我无法修复xrange和yrange中的任何值。这就是我需要自动调整轴的原因。

问题是多时隙不允许更改术语,因此我无法在虚拟终端中绘图而我不知道GPVAL_Y_MIN和GPVAL_Y_MAX值。

有什么想法吗?如果多色图中的图形没有正确的比例,则显示我的数据并不是很有用。

1 个答案:

答案 0 :(得分:0)

您可以使用

set autoscale yfix

拥有自动缩放的y范围,但不会将其扩展到下一个抽搐。这将为每个子图提供不同的范围。

如果所有子图都需要一个yrange,则可以使用stats命令(需要4.6版)。绘制到虚拟终端后使用GPVAL_Y_*是4.6之前的gnuplot版本的方法(更多解决方法)。

然后,您可以迭代所有文件以确定常见的yrange:

filelist="A.txt B.txt C.txt D.txt E.txt F.txt"
i = 0
do for [f in filelist] {
    stats f using 1:2 nooutput
    if (i == 0) { 
        min_y = STATS_min_y
        max_y = STATS_max_y
        i = 1
    } else {
        min_y = (STATS_min_y < min_y ? STATS_min_y : min_y)
        max_y = (STATS_max_y > max_y ? STATS_max_y : max_y)
    }
}
set yrange [min_y:max_y]
set multiplot 
...