之前讲过了简单的函数绘图,而实际科研中更多用到的是数据绘图。
在讲如何用gnuplot进行数据绘图之前,我们先介绍一个gnuplot里最有用的命令:help。
gnuplot内含一个非常有用的帮助系统。随着我们学习的命令越来越多,记住所有命令的用法不太现实,所以我们会更多的依赖这个帮助系统。例如,我们想知道 set xtics 命令的用法,只要在gnuplot里输入:
gnuplot> help set xtics
就能得到完整的 set xtics 用法及实例。
好了,下面我们讲数据绘图。首先介绍我们的数据文件。这是一个关于北京市一年中每月平均降水量的数据,我们的数据以纯文本方式储存在文件名为 datafile.dat 的文件中,文件全文如下:
### 文件开始 ###
# 北京月平均降水量 (mm)
#
# 月份 降水量
# ==============
1 2.5
2 5.1
3 10.2
4 25.4
5 27.9
6 71.1
7 175.3
8 182.9
9 48.3
10 17.8
11 5.1
12 2.5
### 文件结束 ###
数据分为两列,第一列为月份,第二列为降水量。以 # 符号开始的各行为注释,也就是说,这些行对绘图不构成任何影响。下面开始画图。
gnuplot> set xlabel "月份"
gnuplot> set ylabel "降水量(毫米)"
gnuplot> set title "北京市月平均降水量"
gnuplot> unset key
gnuplot> set xrange [0.5:12.5]
gnuplot> set xtics 1,1,12
gnuplot> plot "datafile.dat"
这里我们看到,默认的数据作图是画出各数据点。如果我们希望得到数据连线呢?可以使用下面的命令:
gnuplot> plot "datafile.dat" with lines
with 命令后面跟的是画图方式,这里使用的是 lines 方式,也就是把各个数据用直线连接起来。gnuplot大约支持三十种画图方式,默认为 points 方式,我们以后会选择一些常用的方式来介绍。
现在问题来了:如何既得到连线,又得到数据点呢?对了,用 with linespoints:
gnuplot> plot "datafile.dat" with linespoints
好了,我们已经有一个简单的数据图了。下次我们想办法让它看起来更漂亮一些。