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

博文

谈谈gnuplot(五):坐标取值范围及刻度

已有 22783 次阅读 2011-10-16 16:05 |个人分类:开源软件|系统分类:科研笔记|关键词:学者| 数学, 软件, 坐标, 绘图

我们从上一讲结束时的图像开始:
gnuplot> set samples 500
gnuplot> set xlabel "X"
gnuplot> set ylabel "Y"
gnuplot> set title "sin(5*x) 函数图像"
gnuplot> unset key
gnuplot> plot sin(5*x)


这里默认的 x 取值范围是从 -10 到 10。我们现在希望 x 的取值范围从 -2π 到 2π,这样函数图像可以正好包括十个周期。横坐标取值范围由 xrange 参数控制。还记得gnuplot里面所有参数都由 set 命令控制吗?取值范围由方括号内的一对数表示,两个数之间用冒号隔开:
gnuplot> set xrange [-2*pi:2*pi]
gnuplot> replot

(不要忘记,每一个和 x 坐标有关的参数,都对应有一个和 y 有关的参数,所以纵坐标的取值范围由 yrange 控制。)

现在横坐标取值范围已经符合我们的要求了,但是横轴上的刻度并不是我们想要的。我们不想要刻度出现在整数位置上,而是希望刻度为 π 的整倍数。另外,我们还希望两个主刻度之间 π/2 的位置有一个分刻度,分刻度只要有刻度就可以,没必要标出数字了。gnuplot里面,横轴主刻度和分刻度,分别用 xticsmxtics 表示(m 表示 minor)。我们试试下面的命令:
gnuplot> set xtics pi
gnuplot> set mxtics 2
gnuplot> replot

这里的命令表示:横轴主刻度间隔为 π,每两个主刻度之间被分刻度分为2份。这组命令得到的图像如下:


现在刻度间隔对了,但是显示的数字并不是我们想要的。我们希望显示字符 π,而不是小数3.14159。其实,set xtics 命令的形式并不是唯一的。我们试试下面的形式:
gnuplot> set xtics ("-2π" -2*pi, "" -1.5*pi 1, "-π" -pi, "" -0.5*pi 1, "0" 0, "" 0.5*pi 1, "π" pi, "" 1.5*pi 1, "2π" 2*pi)
gnuplot> replot
这里 set xtics 命令直接规定了每个刻度的位置和显示的字符。每一个刻度对应三个参数:显示字符、刻度位置、刻度等级。刻度等级为 0 时表示主刻度,等级为 1 时表示分刻度。对于主刻度(等级为 0 时),表示等级的参数也可以省略不写。各个刻度的参数之间用逗号隔开。从上面的例子我们还看出,显示字符可以为空,也就是只标刻度,不显示字符。这组命令得到的图像如下:


现在横轴坐标已经完全符合我们要求了,我们把纵轴坐标也调整一下,因为我们不需要这么细的划分纵轴刻度:
gnuplot> set ytics -1,0.5,1
gnuplot> replot
这里又用了 set ytics 命令的另一种形式(再次提醒一下,xticsytics 语法是完全一样的):后面跟了逗号隔开的三个参数。这三个参数分别表示:最小主刻度、主刻度步长、最大主刻度。图像如下:


现在我们完成了对于坐标轴的一些微调,图像看起来更顺眼了。

https://m.sciencenet.cn/blog-373392-497484.html

上一篇:谈谈gnuplot(四):简单函数绘图
下一篇:谈谈gnuplot(六):简单数据绘图

3 杨华磊 黄富强 陈小斌

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

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

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-6-3 19:25

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部