分享

Gnuplot (十) 多图(multiplot)

 icewater1234 2014-08-20
本文摘录于瞬间集博客:http://blog.sciencenet.cn/u/yusufma


之前我们曾用 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 命令正如它的名字所暗示的那样,用于让人工设置的参数恢复至默认值。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多