ns-3的绘图工具——Gnuplot
对仿真数据进行统计分析,并做成图表可以更加直观地体现协议的性能。本文将介绍如何使用Gnuplot把ns-3仿真程序捕获的数据做成图表。
使用ns-3和gnuplot绘制图形有两种常用方法(http://www.gnuplot.info):
- 使用ns-3的gnuplot类创建gnuplot控制文件。
- 使用ns-3生成的值创建gnuplot数据文件。
这里主要介绍方法1,即如何使用ns-3的gnuplot类绘制图。如果对方法2感兴趣,请参阅NS-3Tutorial中“Tracing”部分的“A Real Example”小节。
1.Gnuplot
gnuplot是一个命令行驱动的交互式绘图工具(command-driven interactive function plotting program),可将数学函数或数值资料以平面图或立体图的形式画在不同种类终端机或绘图输出装置上。它是由Colin Kelley 和 Thomas Williams于1986年开发的绘图程序发展而来的,可以在多个平台下使用。gnuplot既支持命令行交互模式,也支持脚本。
如果Ubuntu中尚未安装Gnuplot,使用如下命令安装:
sudo apt-get install gnuplot
安装完成之后进行测试。输入gnuplot
进入交互式界面。
输入如下命令:plot[-3.14:3.14]sin(x)
,如下图所示:
得到如下的正弦曲线:
2.Gnuplot类
ns-3为了能生成Gnuploy数据图表提供了一组和Gnuplot连接的类,包含在头文件ns3/gnuplot.h
中,可分成两类。
(1)Gnuplot类:是ns-3和Gnuplot连接的重要接口,其功能包括:设置文件名,坐标,标题,添加数据集,生成文件等。
(2)GnuplotDataset类:只是一个数据集,存储plot数据供Gnuplot使用。
可参考https://www.nsnam.org/docs/release/3.29/doxygen/classns3_1_1_gnuplot.html
3.使用Gnuplot
必须采取以下步骤才能使用ns-3的gnuplot类创建绘图:
- 修改代码,以便使用gnuplot类及其函数。
- 运行代码,以创建gnuplot控制文件。
- 使用gnuplot控制文件的名称调用gnuplot。
- 在任意图片查看器中浏览生成的图形文件。