打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Gnuplot (一)运行/数学表达式/简单函数绘图
本文部分摘录于瞬间集博客: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 语法是完全一样的):后面跟了逗号隔开的三个参数。这三个参数分别表示:最小主刻度、主刻度步长、最大主刻度。图像如下:

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Gnuplot|00 简介
GNUPLOT使用技巧
科学网—谈谈gnuplot(二十五):简单 3D 函数绘图
gnuplot 让您的数据可视化
Gnuplot 常用绘图功能简单介绍
gunplot(2)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服