瞬间集分享 http://blog.sciencenet.cn/u/yusufma 激光,光谱学,生物医学光子学

博文

谈谈gnuplot(三十四):多图(multiplot)

已有 16743 次阅读 2012-1-4 04:10 |个人分类:开源软件|系统分类:科研笔记|关键词:gnuplot,数学,画图,软件,multiplot| 数学, 软件, 画图, Gnuplot, multiplot

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

如果想更多了解 multiplot 命令的用法,请使用 help multiplot 命令。


http://blog.sciencenet.cn/blog-373392-525252.html

上一篇:谈谈gnuplot(三十三):table 输出
下一篇:谈谈gnuplot(三十五):曲线色彩填充

1 温世正

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2019-12-13 17:53

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部