之前讲过了简单的函数绘图,而实际科研中更多用到的是数据绘图。


在讲如何用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" 

(1) - gnuplot简单数据绘图_数据


这里我们看到,默认的数据作图是画出各数据点。如果我们希望得到数据连线呢?可以使用下面的命令:

gnuplot> plot "datafile.dat" with lines

(1) - gnuplot简单数据绘图_连线_02

with 命令后面跟的是画图方式,这里使用的是 lines 方式,也就是把各个数据用直线连接起来。gnuplot大约支持三十种画图方式,默认为 points 方式,我们以后会选择一些常用的方式来介绍。


现在问题来了:如何既得到连线,又得到数据点呢?对了,用 with linespoints

gnuplot> plot "datafile.dat" with linespoints

(1) - gnuplot简单数据绘图_数据_03


好了,我们已经有一个简单的数据图了。下次我们想办法让它看起来更漂亮一些。