安装gunplot,略去不表。
ns3/examples/tutorial目录下,有一个拥塞窗口的例子 fifth.cc。复制到scratch下运行
使用重定向,在后台完成对fifth.cc的运行并把结果存在ns-3.25目录下的fifth.dat中:
$ ./waf --run scratch/fifth >fifth.dat 2>&1
解释:
表示输出重定向。
fifth.dat 把执行的结果存入到文件。一般情况下,输出重定向到当前屏幕,>fifth.dat表示输出重定向到该文件。
2>&1 在shell中,文件描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2,
&表示在后台执行, 2>&1 表示,把错误信息stderr也放到stdout中输出.
进入gnuplot:
$gnuplot
gnuplot>set terminal png size 640,480
gnuplot>set output "fifth.png"
gnuplot>plot "fifth.dat" using 1:2 title "Congestion Window" with linespoints
gnuplot>exit
在安装目录ns3.26下,生成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 //使用第一列与第三列的二分之一绘图