之前我们曾用 plot 命令将多个曲线画在同一张图上,这次我们谈谈怎样将多个图画在一起。这样做的主要目的是把不同的信息放在一起,以方便比较。我们首先看看怎样把几张图像矩阵一样排列起来:
gnuplot> set multiplot layout 2,2 gnuplot> plot sin(x) gnuplot> plot sin(2*x) gnuplot> plot cos(x) gnuplot> plot cos(2*x) gnuplot> unset multiplot set multiplot 命令告诉 gnuplot 进入多图模式,这时候我们画的所有图像都会在出现在同一张画布上。如果不做调整,所有图像将重叠在一起;如果适当调整每个图像的位置和大小,图像将按我们的要求排列起来。layout 参数可以自动将几幅图按照指定格式排列起来,例如这里的 4 幅图排成了 2x2 的格式。最后,unset multiplot 命令退出多图模式。之前我们用过的绘图命令在多图模式下都有效,包括将图片输出为不同格式。 如果不用 layout 参数,我们还有更灵活的排版方式,例如下面这个“画中画”的例子: gnuplot> reset gnuplot> set multiplot gnuplot> unset key gnuplot> plot 'spectrum.dat' with lines gnuplot> set xrange [660:740] gnuplot> set xtics 20 gnuplot> set yrange [-200:2000] gnuplot> set ytics 500 gnuplot> set origin 0.2,0.4 gnuplot> set size 0.4,0.4 gnuplot> replot gnuplot> unset multiplot 这里我们绘制了一组光谱数据(spectrum.dat),并且把 [660, 740] 这个区间内的数据单独绘制出来,嵌套在大图内,用于更清楚的展示细节。这里的 set origin 命令用于设置绘图的原点,set size 命令以前已经讲过,用于设置图像大小。这两个命令均使用 screen 坐标系统(参考之前的博文:“坐标系统及标签”)。开始处的 reset 命令正如它的名字所暗示的那样,用于让人工设置的参数恢复至默认值。 |
|
来自: icewater1234 > 《gnuplot》