(一)直接使用Gnuplot工具
以NS3自带的例子程为例来说明。
进行NS安装目录,下面有/examples/tutorial目录下,有一个拥塞窗口的例子 fifth.cc
把它复制到scratch目录下。
则在后台完成对fifth.cc的运行并把结果存在ns-3.25目录下的fifth.dat中
解释:
“>” 表示输出重定向。
“>”fifth.dat 把执行的结果存入到文件。一般情况下,输出重定向到当前屏幕,>fifth.dat表示输出重定向到该文件。
2>&1 在shell中,文件描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2,
&表示在后台执行, 2>&1 表示,把错误信息stderr也放到stdout中输出.
在dat所在目录下进入GNUPLOT
在gunplot环境下,输入以上命令,会发现在ns-3.25目录下产生fifth.png图
解释:
set termianl png //设置输出图片格式,如png,gif,jpg等
set size width,height //设备图片宽度,高度
set output “图片名称” //设置保存图片名称。
plot title “标题名” //设置图片标题名称,一般用英文,有时不支持中文字符
plot “数据.dat” using 1:2 with linespoints //把数据文件”数据.dat”输出图像, using 1:2,使用第1,2列数据输出.
with linespoints //点用符号,点与点之间用线连接
a plot “数据.dat” //只输出数据点
b plot “数据.dat” with lines //把点连起来,成线。
c plot “数据.dat” with linespoints //点用符号,点与点之间用线连接
d plot ‘file.dat’ using 1:3 with linespoints //使用1,3列绘图
e plot ‘file.dat’ using 1:($3/2) with linespoints //使用第一列与第三列的二分之一绘图
(二)用Gnuplot类
其实就是间接使用Gnuplot工具。
在程序里边加入Gnuplot类,我们可看一个例子:
目录/ns3/ns-allinone-3.25/ns-3.25/src/stats/examples下的gnuplot-example.cc。
把程序复制到scratch目录下边。编译程序:
在ns-3.25目录下边将会产生三个文件:
plot-2d.plt
plot-2d-with-error-bars.plt
plot-3d.plt
在目录ns-3.25执行以下命令:
查看得到的三个文件:
plot-2d.png
plot-2d-with-error-bars.png
plot-3d.png