`

使用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

 

分享到:
评论

相关推荐

    NS2网络模拟器的原理和应用_part2

     1.5 模拟结果的分析  1.6 NS2中对象和各种协议的对应关系  第2章 NS2安装  2.1 在Unix平台下安装NS2  2.2 在Win9X/2000/XP环境下安装NS2  第3章 Tcl语法  3.1 Tcl语言简介  3.2 变量(Variable)  ...

    gnuplot_使用技巧

    gnuplot 使用技巧 画图 仿真 NS

    NS2网络模拟器的原理和应用_part5

     1.5 模拟结果的分析  1.6 NS2中对象和各种协议的对应关系  第2章 NS2安装  2.1 在Unix平台下安装NS2  2.2 在Win9X/2000/XP环境下安装NS2  第3章 Tcl语法  3.1 Tcl语言简介  3.2 变量(Variable)  ...

    NS2网络模拟器的原理和应用_part3

     1.5 模拟结果的分析  1.6 NS2中对象和各种协议的对应关系  第2章 NS2安装  2.1 在Unix平台下安装NS2  2.2 在Win9X/2000/XP环境下安装NS2  第3章 Tcl语法  3.1 Tcl语言简介  3.2 变量(Variable)  ...

    gnuplot绘图工具

    它的功能是把数据资料和数学函数转换为容易观察的平面或立体的图形,它有两种工作方式,交互式方式和批处理方式,它可以让使用者很容易地读入外部的数据结果,在屏幕上显示图形,并且可以选择和修改图形的画法,明显...

    NS2网络模拟器的原理和应用_part4

     1.5 模拟结果的分析  1.6 NS2中对象和各种协议的对应关系  第2章 NS2安装  2.1 在Unix平台下安装NS2  2.2 在Win9X/2000/XP环境下安装NS2  第3章 Tcl语法  3.1 Tcl语言简介  3.2 变量(Variable)  ...

    NS2网络模拟器的原理和应用_part1

     1.5 模拟结果的分析  1.6 NS2中对象和各种协议的对应关系  第2章 NS2安装  2.1 在Unix平台下安装NS2  2.2 在Win9X/2000/XP环境下安装NS2  第3章 Tcl语法  3.1 Tcl语言简介  3.2 变量(Variable)  ...

    gnuplot使用答疑

    gnuplot最新版4.2.6的使用常见问题解答

    gnuplot必备用法整理

    在linux下需要对数据进行统计画图的时候,常常用到gnuplot工具。比如做NS2仿真的时候,最经常使用。本资源通过自己的学习心得,整理了gnuplot作图常用的基本命令。希望对大家有所帮助。

    使用Gnuplot进行trace文件数据比较

    如何用gnuplot来将几个trace文件中的不同数据画在一张图里进行比较

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

    Linux下对NS2项目的仿真分析全过程的代码(从tcl脚本-awk文本处理-gnuplot) 运行过程详见本人CSDN中的描述

    编写Bash Shell通过gnuplot绘制系统性能数据图的方法

    主要介绍了编写Bash Shell通过gnuplot绘制系统性能数据图的方法,做到可视化数据收集,需要的朋友可以参考下

    feedgnuplot:使用gnuplot从命令行绘制实时数据和存储数据的工具

    名称feedgnuplot-通用管道定向绘图工具概要简单绘制管道数据: $ seq 5 | awk '{print 2*$1, $1*$1}'2 14 46 98 1610 25$ seq 5 | awk '{print 2*$1, $1*$1}' | feedgnuplot --lines --points --legend 0 "data 0" -...

    gnuplot使用实例

    gnuplot是一款开源数据画图软件,主要使用命令画图,此为其若干经典画图的命令实例。

    GNUPLOT使用手册 中文版

    GNUPLOT 是在1986年由Colin kelley和Thomas Williams所发展的绘图公用程序,可... GNUPLOT 执行使用者输入的每一项命令,可逐步设定或修改绘图环境。它以图形表达数据或函数,使我们藉由图形做更进一步的分析。

    NS2_教学手册

    NS2教学手册,包含安装教程(cygwin+ns2),以及TCL语言介绍和实例。最后讲解利用awk语言分析trace文件,并如何使用gnuplot生成图像

    科学绘图软件 Gnuplot 使用指南

    科学绘图软件 Gnuplot 使用指南由网友总结 作者戏称自己红领巾 嘿嘿 值得一看

    GnuPlot 英文原版教程

    Gnuplot 英文原版教材。Gnuplot是一个命令行的交互式绘图工具(command-driven interactive function plotting program)。用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由...

    gnuplot使用手册

    gnuplot使用,实现科学绘图,简易方便,功能极其强大,容易做出比matlab更为好看的图,而且支持latex公式编辑,保存为pdf等强大功能

    gnuplot中文使用手册

    gnuplot是linux下的命令行开源画图软件,也有windows 下的GUI版本,命令简单易用,可批量画图,可画数据图,函数图。是一款经典画图软件,此为其中文教程。

Global site tag (gtag.js) - Google Analytics