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

博文

谈谈gnuplot(三十三):table 输出

已有 5430 次阅读 2011-12-28 10:03 |个人分类:开源软件|系统分类:科研笔记|关键词:gnuplot,数学,画图,软件,table,contour| 数学, 软件, 画图, table, Gnuplot

gnuplot 作为一个绘图软件,一般都是读取数据,把图像输出到指定的 terminal。但是 gnuplot 也可以把图像以 table 形式存储到一个数据文件中。这样做的好处是方便我们对图像数据进行进一步处理,得到我们想要的效果。我们之前画等高线图所用的 surface.dat 文件,其实就是通过这种方式得到的。

还以 surface.dat 数据的等高线图为例,contour 模式只能在 splot 命令中使用。如果我们把等高线图预先以 table 格式存入一个文件,我们就可以对其进行适当处理,并且可以用 plot 命令绘图:
gnuplot> set contour base
gnuplot> unset surface
gnuplot> set table 'cont.dat'
gnuplot> splot 'surface.dat'
gnuplot> unset table
gnuplot> unset key
gnuplot> set size square
gnuplot> set xrange [-4:4]
gnuplot> set yrange [-4:4]
gnuplot> plot 'surface.dat' with image, 'cont.dat' with lines lw 1.5 lc rgb 'yellow'


这里我们预先把等高线图以 table 格式存入了 cont.dat 文件,随后用 plot 命令调用该文件,把等高线画在了 surface.dat 数据的 image 图上(注意:不是 pm3d 图)。这里我们可以用 plot 命令的图线风格参数控制等高线的粗细和颜色。

这里我们没有像以前那样用不同颜色区分等高线,而是所有等高线使用了同一颜色。那么怎样区分各个等高线呢?我们可以用 label 标注等高线数值。label 的使用方法我们在第十五讲里介绍过,但是直接手动设置 label 有点麻烦。下面这个网页里的 label_contours.awk 文件是一个 AWK 脚本文件,可以帮助我们自动设置标签:
http://gnuplot.sourceforge.net/scripts/index.html#tricks-here

我们这里不打算介绍 AWK 脚本语言,也不打算介绍这个脚本的具体使用方法,因为该网页以及该文件内已经包含了详细的使用说明。我们只给出一个使用该脚本得到的带标注的等高线图:




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

上一篇:谈谈gnuplot(三十二):等高线的颜色
下一篇:谈谈gnuplot(三十四):多图(multiplot)

2 温世正 任清强

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

数据加载中...

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

GMT+8, 2019-11-17 10:48

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部