`

使用Gnuplot 绘制ns2模拟结果图

阅读更多

 

Gnuplot(command-driven interactive function plotting program)是linux下的一种绘图工具。

在命令行下输入gnuplot来启动, 然后输入plot “awk-file”。 awk-file中含有X
和Y轴的数据。

gnuplot的环境参数

参数的使用通过set来设定参数,用unset来取消设定, show来显示当前参数的设定。

 

坐标轴参数

 

功能

名称

坐标点设定

xtics ydtics

网格设定

grid

坐标显示方式

logscale

显示范围

autoscale xrange yrange

是否显示坐标轴

xzeroaxis yzeroaxis 

 

具体用法:

1. xtics 对x坐标上起始点,结束点,间隔设定。 比如 set xtics -10, 1, 10, 为x轴显示间距为1的-10到10的数字。 取消设定用 unset xtics, 显示x轴标点状态用show xtics。

2. 显示网格 set grid

3. 坐标显示方式,一般为线性方式,如果要显示对数方式用set logscale <axes> <base>, 这里ases为X轴,Y轴,Z轴任意组合,base默认为10。 改回线性方式用 unset logscale

4.设定显示范围, 设定autoscale后会自动调整显示范围,也可以自定义。用set xrange [{<xmin>:<xmax>}], 比如 set xrange [0:10]是x轴只显示0到10

5. 是否显示坐标轴, set xzeroaxis显示X坐标轴, 取消用 unset xzeroaxis

 

标签(label)

用来加入注释说明, 注释包括线段和文字

 

功能

名称

线

arrow

文字

key,label,title,xlabel,ylabel






 

1.  画线条(可选择有无箭头)


set arrow {<tag>} {from <sx>,<sy>{,<sz>}}
{to <ex>,<ey>{,<ez>}} {{no}head}        

unset arrow {<tag>}      # 刪除线段

show arrow             # 线段状态

其中 <tag> 是給线 段加个名称,默认为一个最小可用整数。线 段由(sx, sy, sz)到(ex, ey, ez)(注:在2D中是 (sx, sy)到(ex, ey))。 nohead 不带箭头, head 或留空为带箭头。
例:

#原点到 (1,2) 的箭头。
gnuplot> set arrow to 1,2

#名称<tag>为3的线段由(0.4, 0.3 ) 到 (0.2, 0.1)。
gnuplot> set arrow 3 from 0.4, 0.3 to 0.2, 0.1

# 删除线段3
unset arrow 3

# 删除所有线段
unset arrow

 

2. 文字注释: 包含标题title和标签label两种

 

(1)标题(title) :图正上方加上說明文字。
set title {"<title-text>"} {<xoff>}{,<yoff>}
其中 <xoff> 或 <yoff> 为标题位置。 xlabel, ylabel与title相同,分别给X,Y加标题。

(2)标签 (label) :图中加入文字说明,与箭头一起使用。
set label {<tag>} {"<label_text>"} {at <x>,<y>{,<z>}}{<justification>}
unset label {<tag>}          # 刪除一个标签
show label                # 显示状态
其中 <tag > 与arrow 中 <tag > 相同 , 用以区分不同的 label 。 <justification> 用来调整位置,选项为 left ,right 或 center 。
例:

# 將 y=x 放在 (1,2) 。
gnuplot> set label “y=x”at 1,2

# y=x^2 放在 (2,3) ,命名为 3。
gnuplot> set label 3 "y=x^2" at 2,3 right

# 名为 3 的标签居中
gnuplot> set label 3 center

# 刪除名為3的標示。
gnuplot> unset label 3

# 刪除所有標示。
gnuplot> unsel label
 

key参数可以用来改变函数名或图形档案文件(比如 awk-file)的位置, 默认为右上角。
set key <x>,<y>{,<z>}           # <x>, <y>, <z> 設定位置。
unset key                       #不显示

 

set key outside 函数名在曲线图右侧外部显示

set key box 函数名显示轮廓

 

 

图样(Style)

GNUPLOT以读入文件中的坐标值来绘制图案的,它提供9种显示图样, 分别是:

  1. lines : 相邻节点以线连接。 如 plot sin(x) with lines
  2. points : 每个点以一个符号画出。 如 plot sin(x) with points
  3. linespoints : 同时具有 lines 及 points 的功能。 如 plot sin(x) with linespoints
  4. impulses : 將每一點畫一垂直線至 X 軸。如 plot sin(x) with impulses
  5. dots : 每个点画一个小点。如 plot sin(x) with dots
  6. steps : 以阶梯形连接两点。如(x1,y1),(x2,y2)两点,以(x1,y1)到(x2,y1)和(x2,y1)到(x2,y2) 两线段连接。如 plot sin(x) with steps
  7. errorbars : 对每一点 (x,y),画一由 (x,ylow) 至 (x,yhigh) 的线段。並在线段两端做上 tic mark。如 plot sin(x) with errorbars
  8. boxes : 以X坐标为中心从X轴到Y坐标点画一个方格(直方图)。 如 plot sin(x) with boxes
  9. boxerrorbars : 組合 errorbars 與 boxes 兩者功能。如 plot sin(x) with boxerrorbars

 

boxes补充:  The width of the box is obtained in one of three ways. If it is a data plot and the data file has a third column, this will be used to set the width of the box. If not, if a width has been set using the set boxwidth command, this will be used. If neither of these is available, the width of each box will be calculated automatically so that it touches the adjacent boxes

 

 

输出(Ootput)

把画出来的图存为GIF格式。

 

#把输出存成gif格式,內定为X11 terminal

gnuplot> set terminal gif

 

#把输出的文件名设为cbr_delay.gif

gnuplot> set output “cbr_delay.gif”

 

#把图重画一次

gnuplot> replot

 

然后就会产生cbr_delay.gif的图片

 

gnuplot> set output              # set output back to default
gnuplot> set terminal x11        # ditto for terminal type, 可选项x11, wxt等

set terminal wxt

 

 

绘制多个曲线

多个数据来源以逗号分隔。

gnuplot> plot sin(x), cos(x)

gnuplot> plot sin(x) with boxes, cos(x) with boxes

 

参考:

内容主要参考柯老师关于ns的网站,很感谢他分享给我们的教程。http://140.116.72.80/~smallko/ns2/tool.htm

 

分享到:
评论

相关推荐

    Linux下对NS2项目的仿真分析全过程(从tcl脚本-awk文本处理-gnuplot)

    在本文中,我们将深入探讨如何在Linux环境下使用NS2(Network Simulator 2)进行网络仿真实验,并通过TCL脚本、AWK文本处理工具以及GNUPLOT进行数据分析和可视化。NS2是一款广泛用于计算机网络研究和教育的开源...

    NS2中模拟测量以UDP 为传输协议的应用程序

    在本实验中,我们将使用 NS2 软件模拟测量 UDP 应用程序的吞吐量、封包延迟、抖动率和封包丢失率。 吞吐量(Throughput)是指单位时间内网络上传输的数据量。吞吐量的高低直接影响着网络的性能和可靠性。在 NS2 中...

    NS与网络模拟心得1

    编写NS2的Tcl脚本包括创建模拟器对象、设置跟踪文件、构建网络拓扑、配置节点属性、设置代理和应用、定义事件和时间关联,以及最后运行模拟和使用Gnuplot绘制结果图表。 【网络组件与链路】 NS2中的节点包含了地址...

    基于ns2比较tcp和udp的丢包行为

    最后,我们使用 Gnuplot 工具来绘制实验结果的曲线图,以直观地展示实验结果。 通过本实验,我们可以了解 TCP 和 UDP 两个协议的丢包行为,并比较它们在不同场景下的性能。此外,我们还可以了解 NS2 的使用方法和 ...

    ns-2学习笔记

    4. **gnuplot使用.txt**:Gnuplot是一款强大的数据可视化工具,可以用于绘制ns-2仿真结果的数据图表。这个文件可能涵盖了如何将ns-2的输出数据导入gnuplot进行分析和展示。 5. **节点随机运动代码.txt**:ns-2支持...

    NS2.rar_ns2

    7. **结果分析**:使用NS2提供的统计函数收集模拟数据,并使用外部工具(如gnuplot)进行分析和绘制图表。 在NS2的学习过程中,建议从简单的网络拓扑和协议开始,逐步过渡到复杂场景。通过实践,不仅可以理解NS2的...

    NS2fangzhen

    例如,通过gnuplot绘制的路由发现过程动态图,我们可以清晰地看到AODV路由发现的速度和效率;而通过丢包率随时间变化的曲线,可以分析AODV在网络拥塞或节点移动时的适应能力。 在"NS2fangzhen"的AODVSimulation中,...

    一种简单的无线网络协议在NS2中的仿真分析 .doc

    Gnuplot 是一个功能强大且灵活的绘图工具,可以用来绘制各种类型的图形,如折线图、柱形图、饼图等。在本论文中,我们使用 Gnuplot 工具来绘制三个技术指标的图像,以便更好地展示无线网络的性能。 本论文的主要...

    cygwin平台上NS2安装的详细步骤

    2. **GNUPLOT**: 绘图软件包,用于绘制图表和图形。 3. **MAKE**: 自动化构建工具,简化了编译过程。 4. **PATCH**: 用于应用补丁文件,对于修复错误或更新软件非常有用。 5. **PERL**: 脚本语言,某些脚本可能依赖...

    NS-2教学手册(包括大量链接)

    此外,还介绍了如何使用Gnuplot绘制数据图表,这对于可视化模拟结果至关重要。 #### 四、NS2模块添加或修改 为了扩展NS2的功能,开发者需要了解如何添加或修改现有模块。这部分涵盖了如何创建新的协议或模型,以及...

    网络仿真NS2以及数据分析

    通过学习如何使用NS2模拟TCP与UDP协议,并结合AWK和GNUPLOT等工具进行数据分析,不仅可以加深对网络协议的理解,还能提升解决实际问题的能力。希望以上的介绍能够帮助读者更好地入门NS2,并在后续的学习和研究过程中...

    NS2入门与提高新手的福音

    整个模拟流程大致为:编写Tcl脚本 -&gt; 运行ns -&gt; 输出Trace文件 -&gt; 使用Nam生成动画 -&gt; 可选地使用Gawk和gnuplot进行数据分析和图表绘制。 NS2采用面向对象的设计,结合了C++的效率和Otcl的灵活性。C++用于模拟核心...

    简单的ns2实验全过程-比较tcp和udp的丢包行为

    - 利用GNUPLOT绘制仿真结果图形。 - 对比两种协议的性能差异。 ### 知识点三:TCL脚本示例分析 #### 示例脚本说明: 该脚本展示了如何在NS2中构建一个简单的网络模型来比较TCP和UDP的丢包率。具体步骤如下: 1....

    NS3.26手册manual.pdf

    **使用Gnuplot类绘制图表**章节演示了如何利用NS3内置的Gnuplot类来生成图表。 - **Gnuplot类**: 提供了一种简便的方式来绘制模拟结果。 - **图表类型**: 支持多种图表类型,如折线图、柱状图等。 #### 十六、使用...

    NS学习笔记西交大版

    1. **脚本编写**:NS2使用Tcl语言编写模拟脚本,通过定义网络拓扑、节点行为等来描述模拟场景。 2. **参数设置**:可以通过脚本中的参数来调整网络性能指标,如带宽、延迟等。 3. **输出分析**:模拟结束后,可以...

    最新版NS3手册

    用户可以利用这些工具轻松地绘制图表,从而更直观地分析仿真结果。 ##### 8.4 支持的追踪类型 NS3支持多种类型的追踪数据,包括但不限于统计信息、时间序列数据等。了解这些不同类型的数据有助于用户选择合适的收集...

Global site tag (gtag.js) - Google Analytics