本文部分摘录于瞬间集博客:http://blog.sciencenet.cn/u/yusufma
所有的主流Linux发行版都包含gnuplot,因此在Linux上安装很简单,只要用各相应发行版的软件安装工具直接安装就可以了。
打开一个终端,输入gnuplot,随着程序启动,会出现下面的信息:
gnuplot>在提示符之后输入各种命令,就可以开始画图了。
如果要退出程序,只需要输入quit或者exit命令。
在我们开始画图之前,需要知道gnuplot里面是如何表达数学公式的。- 加、减、乘、除、乘方
分别用+,-,*,/,**表示
- 自定义函数
自定义函数很容易,例如 f(x)=x+1 定义一个一元函数,f(x,y)=x+y 定义一个二元函数。
- π(圆周率)
π 在gnuplot里用 pi 表示。
print 命令,就是把结果输出到屏幕上。
gnuplot里面的2D作图命令是 plot。先试着画一个正弦函数:
gnuplot> plot sin(5*x)
这个取样率有点低。函数取样数目由 samples 这个参数控制。在gnuplot里面,所有参数赋值都由 set 命令完成。我们把函数取样数目改为500:
gnuplot> set samples 500
gnuplot> replot
图像右上角的图例(就是那个 sin(5*x) 后面带一段横线)看起来有点碍眼。在gnuplot里面,这个图例叫做 key。对于同时包含多组数据的图像来说,图例是必要的。但是现在图像只包含一个函数,而且这个图例的位置也不那么对劲儿,我们先把它去掉:
gnuplot> unset key
gnuplot> replot
我们给它加上标题和坐标轴标签:
gnuplot> set title "sin(5*x) 函数图像"
gnuplot> set xlabel "X"
gnuplot> set ylabel "Y"
gnuplot> replot
还记得gnuplot里面所有参数都由 set 命令控制吗?
取值范围由方括号内的一对数表示,两个数之间用冒号隔开:
gnuplot> set xrange [-2*pi:2*pi]
gnuplot> replot
现在横坐标取值范围已经符合我们的要求了,但是横轴上的刻度并不是我们想要的。我们不想要刻度出现在整数位置上,而是希望刻度为 π 的整倍数。另外,我们还希望两个主刻度之间 π/2 的位置有一个分刻度,分刻度只要有刻度就可以,没必要标出数字了。gnuplot里面,横轴主刻度和分刻度,分别用 xtics 和 mxtics 表示(m 表示 minor)。我们试试下面的命令:
gnuplot> set xtics pi
gnuplot> set mxtics 2
gnuplot> replot
现在刻度间隔对了,但是显示的数字并不是我们想要的。我们希望显示字符 π,而不是小数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
现在横轴坐标已经完全符合我们要求了,我们把纵轴坐标也调整一下,因为我们不需要这么细的划分纵轴刻度:gnuplot> set ytics -1,0.5,1
gnuplot> replot
这里又用了 set ytics 命令的另一种形式(再次提醒一下,xtics 和 ytics 语法是完全一样的):后面跟了逗号隔开的三个参数。这三个参数分别表示:最小主刻度、主刻度步长、最大主刻度。图像如下:
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。