Gnuplot多画面y轴缩放

时间:2014-01-06 23:31:10

标签: gnuplot

我希望能够使用多色图覆盖多个图形。我想启用自动缩放以获得最大分辨率,但我发现每个数据集都是独立缩放的。有谁知道我怎么能够以相同的数量缩放所有图表,以便它们相对于彼此都是正确的?

我的数据是通过外部系统的管道提供的,但这是一个简单的例子。如果我绘制这两个信号,我希望绘图比例为+/- 2.0(来自cos),然后适当缩放,使得它只是cos的高度的一半,而不是两个相同的高度。

set multiplot
plot sin(x) with lines ls 1 linecolor rgb "blue"
plot 2*cos(x) with lines ls 1 linecolor rgb "red"
unset multiplot

1 个答案:

答案 0 :(得分:0)

不,在多时段内,您无法根据当前绘图的数据自动重新缩放先前的绘图。之前的绘图数据不适用于以后的操作(缩放,重新绘制,重新缩放等)。运行最小脚本并尝试放大;你只会得到缩放的最后一个情节。

可以为每个数据集运行stats命令来确定最大范围。

max(x, y) = (x > y ? x : y)
min(x, y) = (x < y ? x : y)
do for [i=1:6] {
    stats '-' using 1 nooutput
    if (i == 1) {
        ymin = STATS_min
        ymax = sTATS_max
    } else {
        ymin = min(STATS_min, ymin)
        ymax = max(STATS_max, ymax)
    }
}
set yrange[ymin:ymax]

但是,由于您正在管理数据,因此需要两次发送所有数据集。或者您必须确定应用程序的最大范围,并向gnuplot发送set xrange[...]命令。