我希望能够使用多色图覆盖多个图形。我想启用自动缩放以获得最大分辨率,但我发现每个数据集都是独立缩放的。有谁知道我怎么能够以相同的数量缩放所有图表,以便它们相对于彼此都是正确的?
我的数据是通过外部系统的管道提供的,但这是一个简单的例子。如果我绘制这两个信号,我希望绘图比例为+/- 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
答案 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[...]
命令。