搜档网
当前位置:搜档网 › gnuplot绘制图像并保存[精华整理]

gnuplot绘制图像并保存[精华整理]

gnuplot绘制图像并保存[精华整理]
gnuplot绘制图像并保存[精华整理]

gnuplot绘制图像并保存

目录

一、基础篇 (1)

1、plot命令 (1)

2、同时画多条曲线 (2)

3、关于图例的位置 (2)

4、关于坐标轴 (2)

5、在图中插入文字 (2)

6、在图中添加直线和箭头 (2)

7、图的大小和位置 (3)

8、画三维图 (3)

9.将图形输出到文件 (3)

二、提高篇 (3)

1、如何在同一张图里同时画多个图 (3)

2、作二维图时,如何使两边坐标轴的单位长度等长 (4)

3、如何在同一张图里利用左右两边的y轴分别画图 (4)

4、如何插入希腊字母和特殊符号 (4)

5、gnuplot中如何插入Angstrom(埃)这个符号(A上面一个小圆圈) (5)

6、gnuplot画等高线图 (5)

7、如何画漂亮的pm3d图 (5)

8、利用脚本文件避免重复输入 (6)

9、在gnuplot模式下运行linux命令 (6)

对于在Linux下工作的人,如果你经常要画一些二维图和简单的三维图的话,那么,gnuplot 无疑是一个非常好的选择,不仅图形漂亮,而且操作简单。当然如果需要质量更高的三维图,请用其他的一些专业绘图软件。建议大家学会使用gnuplot。这个小软件通常都是Redhat Linux自带的,但自带的版本是3.7的,建议将其升级到4.0,新版本具有很多新功能。最新版本可以到

https://www.sodocs.net/doc/249867138.html,/下载。

一些最基本的操作请大家看说明书。这里总结一下我在使用过程中遇到的一些问题以及解决的办法,目的是让那些以前不会的或不熟练的能快速入门,会画自己想要的图,因为原来的说明书很长,较难有针对性地很快找到自己想要的信息。这里简单的总结不可能面面俱到,所以大家不要抱怨我写的不全,更全面的了解还是请看说明书,网上的资料也多的是。其实这也是我们从网上一点一点搜集和摸索出来的。我相信看完后,应该平时最常见的问题基本上都能在这里找到答案。如果大家在使用过程中摸索到了我没有写到的技巧和体会,或有其它建议,请大家提告诉我,以不断完善这篇总结,谢谢!

一、基础篇

在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出。

1、plot命令

gnuplot> plot sin(x) with line linetype 3 linewidth 2 或

gnuplot> plot sin(x) w l lt 3 lw 2 %用线画,线的类型(包括颜色与虚线的类型)是3,线的宽度是2,对函数sin(x)作图

gnuplot> plot sin(x) with point pointtype 3 pointsize 2 或

gnuplot> plot sin(x) w p pt 3 ps 2 %用点画,点的类型(包括颜色与点的类型)是3,点的大小是2

gnuplot> plot sin(x) title ‘f(x)’ w lp lt 3 lw 2 pt 3 ps 2 %同时用点和线画,这里title ‘f(x)’表示图例上标’f(x)’,如果不用则用默认选项

gnuplot> plot sin(x) %此时所有选项均用默认值。如果缺某一项则将用默认值

gnuplot> plot ‘a.dat’ u 2:3 w l lt 3 lw 2 %利用数据文件a.dat中的第二和第三列作图顺便提一下,如这里最前面的两个例子所示,在gnuplot中,如果某两个词,按字母先后顺序,前面某几个字母相同,后面的不同,那么只要写到第一个不同的字母就可以了。如with,由于没有其它以w开头的词,因此可以用w 代替,line也可以用l 代替。

2、同时画多条曲线

gnuplot> plot sin(x) title ‘sin(x)’ w l lt 1 lw 2, cos(x) title ‘cos(x)’ w l lt 2 lw 2 %两条曲线是用逗号隔开的。画多条曲线时,各曲线间均用逗号隔开就可以了。

以上例子中是对函数作图,如果对数据文件作图,将函数名称换为数据文件名即可,但要用单引号引起来。

3、关于图例的位置

默认位置在右上方。

gnuplot> set key left %放在左边,有left 和right两个选项

gnuplot> set key bottom %放在下边,只有这一个选项;默认在上边

gnuplot> set key outside %放在外边,但只能在右面的外边

以上三个选项可以进行组合。如:

gnuplot> set key left bottom %表示左下边

还可以直接用坐标精确表示图例的位置,如

gnuplot> set key 0.5,0.6 %将图例放在0.5,0.6的位置处

4、关于坐标轴

gnuplot> set xlabel ‘x’ %x轴标为‘x’

gnuplot> set ylabel ‘y’ %y轴标为’y’

gnuplot> set yl abel ‘DOS’ tc lt 3 %其中的tc lt 3表示’DOS’的颜色用第三种颜色。gnuplot> set xtics 1.0 %x轴的主刻度的宽度为1.0,同样可以为y轴定义ytics

gnuplot> set mxtics 3 %x轴上每个主刻度中画3个分刻度,同样可以为y轴定义mytics gnuplot> set border 3 lt 3 lw 2 %设为第三种边界,颜色类型为3,线宽为2

同样可以为上边的x轴(称为x2)和右边y(称为y2)轴进行设置,即x2tics,mx2tics,y2tics,my2tics。

gnuplot> set xtics nomirror

gnuplot> unset x2tics %以上两条命令去掉上边x2轴的刻度

gnuplot> set ytics nomirror

gnuplot> unset y2tics %以上两条命令去掉右边y轴的刻度

5、在图中插入文字

gnuplot> set label ‘sin(x)’ at 0.5,0.5 %在坐标(0.5,0.5)处加入字符串’sin(x)’。

在输出为.ps或.eps文件时,如果在set term 的语句中加入了enhanced选现,则可以插入上下标、希腊字母和特殊符号。上下标的插入和latex中的方法是一样的。

6、在图中添加直线和箭头

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8 %从(0.0,0.0)到(0.6,0.8)画一个箭头gnuplot> set arrow from 0.0,0.0 to 0.6,0.8 lt 3 lw 2 %这个箭头颜色类型为3,线宽类型为2

gnuplot> set arrow from 0.0,0.0 to 0.6,0.8 nohead lt 3 lw 2 %利用nohead可以去掉箭头的头部,这就是添加直线的方法。

注意,在gnuplot中,对于插入多个的label和arrow等等,系统会默认按先后顺序分别对各个label或arrow进行编号,从1开始。如果以后要去掉某个label或arrow,那么只要用unset 命令将相应的去掉即可。如:

gnuplot> unset arrow 2

将去掉第二个箭头。

7、图的大小和位置

gnuplot>set size 0.5,0.5 %长宽均为默认宽度的一半,建议用这个取值,尤其是画成ps或eps 图形的时候

gnuplot>set origin 0.0,0.5 %设定图的最左下角的那一点在图形面板中的位置。这里图将出现在左上角。

8、画三维图

gnuplot>splot ‘文件名’ u 2:4:5 %以第二和第四列作为x和y坐标,第五列为z坐标。9.将图形输出到文件

在gnuplot中,输出文件的格式是由terminal来控制的。默认的情况下,都是输出到屏幕,即终端模式为X11。如果想输出到文件,则必须对terminal进行设置。要了解有那些终端类型,可以输入set terminal后回车,所有支持的终端模式(或文件格式)都列出来了。就我来说,输出文件的格式用得最多的是ps和eps文件。这在运行画图命令plot或splot前必须先运行如下两条命令:gnuplot>set term post eps color solid enh

gnuplot>set output ‘a.eps’

其中第一条命令为设置终端模式,post即为postscript模式,这是输出到ps或eps文件必须有的。后面的eps,color,solid以及enh选项均可以有或没有,根据你的需要。eps表示输出为eps文件,没有就输出为ps文件;color表示输出图形为彩色,不用就会保存为黑白的;solid表示输出图中的所有线都用实线,不用则除了第一条线为实线外,其它的均用不同的虚线;使用

enh(enhanced)选项可以在图中插入上下标、希腊字母和特殊符号,不用则不能实现这些功能。后面的选项可以根据自己的需要选择一个或几个。

第二条命令对output的设置表示要输出的文件的名字。但是请注意,运行完这条命令后,还仅仅是定义了输出文件的名字,实际上,图还没画到这个文件里去。因此运行这两条命令还只是进行了必须的设置。然后运行如下命令

gnuplot>plot sin(x) w l

gnuplot>replot(假如前面已经运行过plot或replot命令的话)

这时,图形就在上面指定的文件中了。

要输出为其它格式,同样要进行这样的设置,比如要输出为jpg格式,则在运行画图命令前先运行如下命令:

gnuplot>set term jpeg

gnuplot>set output ‘a.jpg’

如果要由其它模式再返回到输出到屏幕,则运行如下命令:

gnuplot>set term X11

二、提高篇

1、如何在同一张图里同时画多个图

gnuplot>set multiplot %设置为多图模式

gnuplot>set origin 0.0,0.5 %设置第一个图的原点的位置

gnuplot>set size 0.5,0.5 %设置第一个图的大小

gnuplot>plot ?a1.dat?

gnuplot>set origin 0.5,0.5 %设置第二个图的原点的位置

gnuplot>set size 0.5,0.5 %设置第二个图的大小

gnup lot>plot ?a2.dat?

gnuplot>set origin 0.0,0.0 %设置第三个图的原点的位置

gnuplot>set size 0.5,0.5 %设置第三个图的大小

gnuplot>plot ?a3.dat?

gnuplot>set origin 0.5,0.0 %设置第四个图的原点的位置

gnuplot>set size 0.5,0.5 %设置第四个图的大小

gnuplot>plot ?a4.dat?

当然,如果后一个图中的某个量的设置和前一个的相同,那么后一个中的这个量的设置可以省略。例如上面对第二、第三和第四个图的大小的设置。前一个图中对某个量的设置也会在后一个图中起作用。如果要取消在后面图中的作用,必须用如下命令,如取消label,用

gnuplot>unset label

2、作二维图时,如何使两边坐标轴的单位长度等长

gnuplot> set size square %使图形是方的

gnuplot> set size 0.5,0.5 %使图形是你要的大小

gnuplot> set xrange[-a:a]

gnuplot> set yrange[-a:a] %两坐标轴刻度范围一样

gnuplot> plot ‘a.dat’

3、如何在同一张图里利用左右两边的y轴分别画图

gnuplot> set xtics nomirror %去掉上面坐标轴x2的刻度

gnuplot> set ytics nomirror %去掉右边坐标轴y2的刻度

gnuplot> set x2tics %让上面坐标轴x2刻度自动产生

gnuplot> set y2tics %让右边坐标轴y2的刻度自动产生

gnuplot> plot sin(x),cos(x) axes x1y2 %cos(x)用x1y2坐标,axes x1y2表示用x1y2坐标轴gnuplot> plot sin(x),cos(x) axes x2y2 %cos(x)用x2y2坐标,axes x2y2表示用x2y2坐标轴gnuplot> set x2range[-20:20] %设定x2坐标的范围

gnuplot> replot

gnuplot> set xrange[-5:5] %设定x坐标的范围

gnuplot> replot

gnuplot> set xlabel ‘x’

gnuplot> set x2label ‘t’

gn uplot> set ylabel ‘y’

gnuplot> set y2label ‘s’

gnuplot> replot

gnuplot> set title ‘The figure’

gnuplot> replot

gnuplot> set x2label ‘t’ textcolor lt 3 %textcolor lt 3或tc lt 3设置坐标轴名称的颜色

4、如何插入希腊字母和特殊符号

一般只能在ps和eps图中,且必须指定enhanced选项。在X11终端(即显示器)中无法显示。

gnuplot> set terminal postscript enhanced

然后希腊字母就可以通过{/Symbol a}输入。例如

gnuplot> set label ‘{/Symbol a}’

各种希腊字母与特殊符号的输入方法请见安装包中gnuplot-4.0.0/docs/psdoc目录下的

ps_guide.ps文件。

另外还可参见:

https://www.sodocs.net/doc/249867138.html,/Kawano/gnuplot/label-e.html#4.3

5、gnuplot中如何插入Angstrom(埃)这个符号(A上面一个小圆圈)

脚本中在插入前先加入

gnuplot>set encoding iso_8859_1

这个命令,然后就可以通过?{\305}?加入了。如横坐标要标上?k(1/?)?:

gnuplot>set xlabel ‘k(1/{\305})

如果是multiplot模式,则这个命令必须放在

gnuplot>set multiplot

的前面。

如果后面还要插入别的转义字符,那么还要在插入字符后加入如下命令:

set encoding default

安装包中gnuplot-4.0.0/docs/psdoc/ps_guide.ps文件中的表中的‘E’代表那一列的所有符号都用这个方法输入。

6、gnuplot画等高线图

gnuplot>splot ‘文件名.dat’ u 1:2:3 w l %做三维图

gnuplot>set dgrid3d 100,100 %设置三维图表面的网格的数目

gnuplot>replot

gnuplot>set contour %设置画等高线

gnuplot>set cntrparam levels incremental -0.2,0.01,0.2 %设置等高线的疏密和范围,数据从-0.2到0.2中间每隔0.01画一条线

gnuplot>unset surface 去掉上面的三维图形

最后用鼠标拽动图形,选择合理的角度即可。或者直接设置(0,0)的视角也可以:

gnuplot>set view 0,0

gnuplot>replot

这里注意,画三维图的数据文件必须是分块的,也就是x每变换一个值,y在其变化范围内变化一周,这样作为一块,然后再取一个x值,y再变化一周,作为下一数据块,等等。块与块之间用一空行格开。

7、如何画漂亮的pm3d图

gnuplot> set pm3d %设置pm3d模式

gnuplot> set isosamples 50,50 %设置网格点

gnuplot> splot x**2+y**2 %画三维图

gnuplot> splot x**2+y**2 w pm3d %画成pm3d模式,注意比较变化

gnuplot> set view 0,0 %设置视角,(0,0)将投影到底面上去

gnuplot> splot x**2+y**2 w pm3d %重画,注意看变化

gnuplot> unset ztics %把z轴上的数字给去掉

gnuplot> set isosamples 200,200 %使网格变细

gnuplot> replot %重画,注意看变化,主要是过渡更光滑

8、利用脚本文件避免重复输入

有时候对某个数据文件做好一张图后,下次可能还要利用这个数据文件作图,但某个或某些设置要作些细微变化。这时候,可以把第一次作图时的命令全部写到一个文件里,如a.plt,下次只要将相应的设置做修改后,用下面的命令就会自动运行文件所有的命令而最后得到你要的图:gnuplot>load ‘a.plt’

作为一个例子,假设文件名为a.plt,里面的内容为:

set pm3d

set view 0,0

unset ztics

set isosamples 200,200

splot x**2+y**2 w pm3d

set term post color

set output ‘a.ps’

replot

那么启动gnuplot后,只要运行如下命令就可以了:

gnuplot>load ‘a.plt’

如果我们要得到的仅仅是.ps或.eps图,那也可以在linux命令提示符下直接运行如下命令:[zxh@theory zxh]$gnuplot a.plt

9、在gnuplot模式下运行linux命令

在gnuplot提示符下也可以运行linux命令,但必须在相应的命令前面加上! 号。例如,假设很多参量都已经设置好了,但需要对某个数据文件a.dat进行修改后再画图,则可以用如下方式gnuplot>!vi a.dat

通过这种方式,所有的linux命令都可以在gnuplot环境里运行。

另外,也可以在gnuplot的提示符后输入shell,暂时性退出gnuplot,进入linux环境,做完要做的事情后,运行exit命令,又回到gnuplot环境下。

gnuplot>shell

[zxh@theory zxh]$vi a.f

[zxh@theory zxh]$f77 a.f

[zxh@theory zxh]$a.out (假设生成a.dat数据文件)

[zxh@theory zxh]$exit

gnuplot>plot ‘a.dat’ w l

本文来自网络。

PeerSim 安装与使用

PeerSim 安装与使用 一、安装 1、安装java1.5或以上版本 安装完成后设置JA V A_HOME环境变量;我的电脑-属性-高级-环境变量目的:为了编译与运行peersim JA V A_HOME=java安装目录 PATH=%JA V A_HOME%\bin 2、安装ant 直接解压,然后设置ANT_HOME环境变量 基于Java的构造工具,类似于make 目的:集成编译peersim ANT_HOME=ant安装目录 PATH=%ANT_HOME%\bin 3、安装peersim 直接解压,然后设置CLASSPATH环境变量 假设peersim解压后的目录为Dire CLASSPATH=Dire\peersim-1.0.3.jar;Dire\peersim\djep-1.0.0.jar;Dire\peersim\je p-2.3.0.jar 修改Dire目录下的build.xml(编译配置文件): 在的下面增加一行: 这样的目的是每次编译都重新打包,为了模拟时测试最新的修改。 完成上面的工作后,第一次运行前要先编译(解压后的peersim-1.0.3.jar可能和java环境有冲突) 编译:进入Dire目录,运行ant即可 模拟测试:进入Dire\example目录,运行java peersim.Simulator config-example1.txt,如何出现类似下面的画面就表示peersim安装成功了。

AB(性能测试工具)

AB ab是apache自带的一款功能强大的测试工具 安装了apache一般就自带了, 用法可以查看它的说明 $ ./ab ./ab: wrong number of arguments Usage: ./ab [options] [http://]hostname[:port]/path Options are: -n requests Number of requests to perform -c concurrency Number of multiple requests to make -t timelimit Seconds to max. wait for responses -p postfile File containing data to POST -T content-type Content-type header for POSTing -v verbosity How much troubleshooting info to print -w Print out results in HTML tables -i Use HEAD instead of GET -x attributes String to insert as table attributes -y attributes String to insert as tr attributes -z attributes String to insert as td or th attributes -C attribute Add cookie, eg. ‘Apache=1234. (repeatable) -H attribute Add Arbitrary header line, eg. ‘Accept-Encoding: gzip’ Inserted after all normal header lines. (repeatable) -A attribute Add Basic WWW Authentication, the attributes are a colon separated username and password. -P attribute Add Basic Proxy Authentication, the attributes are a colon separated username and password. -X proxy:port Proxyserver and port number to use -V Print version number and exit -k Use HTTP KeepAlive feature -d Do not show percentiles served table. -S Do not show confidence estimators and warnings. -g filename Output collected data to gnuplot format file. -e filename Output CSV file with percentages served -h Display usage information (this message) 参数众多,一般我们用到的是-n 和-c

9.4 综合技巧绘图实例[共5页]

第9章 使用gnuplot 绘图123设定label 可以在图的任意位置加上文字说明,一般与线条同时使用。其语法为: set label {} {"

服务器性能测试典型工具介绍

服务器性能测试典型工具介绍 https://www.sodocs.net/doc/249867138.html,/ 2008-11-17 16:42 IT168 我要评论(2) ?摘要:本文介绍了几个比较典型的服务器评测软件,无论什么评测工具,基本的技术都是利用线程技术模仿和虚拟用户,在这里主要的难点在于测试脚本的编写,每种工具使用的脚本都不一样,但是大多数工具都提供录制功能就算是不会编码的测试人员同样可以测试。 ?标签:服务器评测测试工具 ? Oracle帮您准确洞察各个物流环节众所周知,服务器是整个网络系统和计算平台的核心,许多重要的数据都保存在服务器上,很多网络服务都在服务器上运行,因此服务器性能的好坏决定了整个应用系统的性能。 现在市面上不同品牌、不同种类的服务器有很多种,用户在选购时,怎样从纷繁的型号中选择出所需要的,适合于自己应用的服务器产品,仅仅从配置上判别是不够的,最好能够通过实际测试来筛选。而各种的评测软件有很多种,你应该选择哪个软件测试?下面就介绍一些较典型的测试工具: (一)服务器整机系统性能测试工具 一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。 Iometer(https://www.sodocs.net/doc/249867138.html,):存储子系统读写性能测试 Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential ,random)、读写块大小(如64K、256K),队列深度等,来模拟实际应用的读写环境进行测试。

AB命令详解

ab网站压力测试命令的参数、输出结果的中文注解 以前安装好APACHE总是不知道该如何测试APACHE的性能,现在总算找到一个测试工具了。就是APACHE自带的测试工具AB(apache benchmark).在APACHE的bin目录下。 格式:./ab [options] [http://]hostname[:port]/path 参数: -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时,仅执行一个请求 -c concurrency Number of multiple requests to make //一次产生的请求个数。默认是一次一个。 -t timelimit Seconds to max. wait for responses //测试所进行的最大秒数。其内部隐含值是-n 50000。它可以使对服务器的测试限制在一个固定的总时间以内。默认时,没有时间限制。 -p postfile File containing data to POST //包含了需要POST的数据的文件. -T content-type Content-type header for POSTing //POST数据所使用的Content-type头信息。 -v verbosity How much troubleshooting info to print //设置显示信息的详细程度- 4或更大值会显示头信息,3或更大值可以显示响应代码(404, 200等), 2或更大值可以显示警告和其他信息。-V 显示版本号并退出。 -w Print out results in HTML tables //以HTML表的格式输出结果。默认时,它是白色背景的两列宽度的一张表。 -i Use HEAD instead of GET // 执行HEAD请求,而不是GET。 -x attributes String to insert as table attributes // -y attributes String to insert as tr attributes // -z attributes String to insert as td or th attributes // -C attribute Add cookie, eg. 'Apache=1234. (repeatable) //-C cookie-name=value 对请求附加一个Cookie:行。其典型形式是name=value的一个参数对。此参数可以重复。 -H attribute Add Arbitrary header line, eg. 'Accept-Encoding: gzip' Inserted after all normal header lines. (repeatable) -A attribute Add Basic WWW Authentication, the attributes are a colon separated username and password. -P attribute Add Basic Proxy Authentication, the attributes are a colon separated username and password. //-P proxy-auth-username:password 对一个中转代理提供BASIC认证信任。用户名和密码由一个:隔开,并以base64编码形式发送。无论服务器是否需要(即, 是否发送了401认证需求代码),此字符串都会被发送。 -X proxy:port Proxyserver and port number to use -V Print version number and exit

linux中使用gnuplot

基础 通过在 shell 命令提示符中输入 gnuplot 启动 gnuplot。您首先看到提示符号 >。该提示符是进入 gnuplot 的输入点;Linux 用户将习惯于这种方式。例如,您可以使用方向键来查找以前输入的命令历史记录,然后编辑和重新执行这些命令;Home 和 End 键与平时使用没有区别。可以对 gnuplot 进行重新编译以便使用 GNU readline 库在输入提示符上来回移动,但类似于默认函数。 Gnuplot 提供了广泛的在线帮助,如果您要做任何有用的事情,则肯定会用到这些在线帮助。语法是统一的:通过输入 help 可以获得任何命令的帮助。接着启动 gnuplot,尝试命令 help set yrange 和 help set(在每个命令之后,使用 q 退出帮助)。注意 yrange 是 help set 下的可用子选项之一。一般来说,gnuplot 帮助为命令的所有可能定制提供进一步的帮助。浏览帮助中的示例部分通常就足可以了解如何使用命令。 Gnuplot 还有大量展示其能力的演示,通常位于安装的演示子目录中。为了获得这些能力,在 gnuplot 提示符下进入此目录中(例如,cd '/opt/gnuplot/demo' —注意 gnuplot 要求所有文件名和目录名都用单引号或双引号括起来),然后输入 load 'all.dem'。该目录中的各个 .dem 文件演示了各个函数,all.dem 将它们一次全部加载。但您可能想将此操作延迟到本文结束时进行,这样我们可以开始使用 gnuplot ,无需再进行其他操作... 对于那些想要继续的人,可以在提示符中分别输入代码清单中的每行代码。或者,将整个清单保存到一个临时文件中,然后通过在 gnuplot 提示中输入load 'filename'(不要忘记引号)来运行代码。 可以预见的是,2D 绘图的命令是 plot。在提示符中输入 plot sin(x):您应该在弹出窗口中看到熟悉的正弦曲线。

matplotlib绘图基础汇总

matplotlib绘图基础 matplotlib介绍 matplotlib 是Python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且Gallery页面中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览/复制/粘贴一下,基本上都能搞定。 在Linux下比较著名的数据图工具还有gnuplot,这个是免费的,Python有一个包可以调用gnuplot,但是语法比较不习惯,而且画图质量不高。而Matplotlib则比较强:Matlab的语法、python语言、latex的画图质量(还可以使用内嵌的latex引擎绘制的数学公式)。 可以在Ipython中输入类似"plt.plot??"的命令查看pyplot模块的函数是如何对各种绘图对象进行包装的。 面向对象方式绘图 matplotlib实际上是一套面向对象的绘图库,它所绘制的图表中的每个绘图元素,例如线条Line2D、文字Text、刻度等在内存中都有一个对象与之对应。 为了方便快速绘图matplotlib通过pyplot模块提供了一套和MATLAB类似的绘图API,将众多绘图对象所构成的复杂结构隐藏在这套API内部。我们只需要调用pyplot模块所提供的函数就可以实现快速绘图以及设置图表的各种细节。pyplot模块虽然用法简单,但不适合在较大的应用程序中使用。 获取当前图和轴线 为了将面向对象的绘图库包装成只使用函数的调用接口,pyplot模块的内部保存了当前图表以及当前子图等信息。当前的图表和子图可以使用plt.gcf()和plt.gca()获得,分别表示"Get Current Figure"和"Get Current Axes"。在pyplot模块中,许多函数都是对当前的Figure或Axes对象进行处理,比如说:plt.plot()实际上会通过plt.gca()获得当前的Axes对象ax,然后再调用ax.plot()方法实现真正的绘图。 如,用下面的代码先获得axes对象再用ax来操作 ax = plt.gca() ax = plt.axes() 地如设置xy轴的tickers就要用ax.yaxis来操作 ax.yaxis.set_minor_locator(yminorLocator) 安装numpy和matplotlib pip install numpy pip install matplotlib matplotlib安装出错 ImportError: libBLT.2.4.so.8.6: cannot open shared object file: No such file or directory, please install the python3-tk package [import matplotlib.pyplot as plt fails with error about python-tk] 检测是否安装成功: >>> import numpy >>> numpy.__version__ >>> import matplotlib >>> matplotlib.__version__ 不同绘图语言比较 工科生说Matlab完爆其他 数学系的说Mathematica高贵冷艳 统计系的说R语言作图领域天下无敌 计算机系的说Python低调奢华有内涵 [如何在论文中画出漂亮的插图] matplotlib.pyplot模块- 快速绘图 matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表。 1.调用figure创建一个绘图对象,并且使它成为当前的绘图对象。(可选) plt.figure(figsize=(8,4)) 也可以不创建绘图对象直接调用接下来的plot函数直接绘图,matplotlib会为我们自动创建一个绘图对象!!

LIBSVM使用方法

LIBSVM 1 LIBSVM简介 LIBSVM是台湾大学林智仁(Lin Chih-Jen)副教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包,他不但提供了编译好的可在Windows 系列系统的执行文件,还提供了源代码,方便改进、修改以及在其它操作系统上应用;该软件还有一个特点,就是对SVM所涉及的参数调节相对比较少,提供了很多的默认参数,利用这些默认参数就可以解决很多问题;并且提供了交互检验(Cross -SVM回归等问题,包括基于一对一算法的多类模式识别问题。SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。ν-SVM回归和ε-SVM分类、νValidation)的功能。该软件包可以在https://www.sodocs.net/doc/249867138.html,.tw/~cjlin/免费获得。该软件可以解决C-SVM分类、-SVM回归等问题,包括基于一对一算法的多类模式识别问题。SVM用于模式识别或回归时,SVM方法及其参数、核函数及其参数的选择,目前国际上还没有形成一个统一的模式,也就是说最优SVM算法参数选择还只能是凭借经验、实验对比、大范围的搜寻或者利用软件包提供的交互检验功能进行寻优。 2 LIBSVM使用方法 LibSVM是以源代码和可执行文件两种方式给出的。如果是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译;如果是Unix类系统,必须自己编译,软件包中提供了编译格式文件,我们在SGI工作站(操作系统IRIX6.5)上,使用免费编译器GNU C++3.3编译通过。 2.1 LIBSVM 使用的一般步骤: 1) 按照LIBSVM软件包所要求的格式准备数据集; 2) 对数据进行简单的缩放操作; 3) 考虑选用RBF 核函数; 4) 采用交叉验证选择最佳参数C与g; 5) 采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型; 6) 利用获取的模型进行测试与预测。 2.2 LIBSVM使用的数据格式 该软件使用的训练数据和检验数据文件格式如下:

服务器性能测试相关的常用工具概要

服务器性能测试相关的常用工具 (一服务器整机系统性能测试工具 一台服务器系统的性能可以按照处理器、内存、存储、网络几部分来划分,而针对不同的应用,可能会对某些部分的性能要求高一些。 Iometer(https://www.sodocs.net/doc/249867138.html,:存储子系统读写性能测试 Iometer是Windows系统下对存储子系统的读写性能进行测试的软件。可以显示磁盘系统的最大IO能力、磁盘系统的最大吞吐量、CPU使用率、错误信息等。用户可以通过设置不同的测试的参数,有存取类型(如sequential,random、读写块大小(如64K、256K,队列深度等,来模拟实际应用的读写环境进行测试。Iometer操作简单,可以录制测试脚本,可以准确有效的反映存储系统的读写性能,为各大服务器和存储厂商所广泛采用。 SisoftSandra(https://www.sodocs.net/doc/249867138.html,:WINDOWS下基准评测 SiSoft发行的Sandra系列测试软件是Windows系统下的基准评测软件。此软件有超过三十种以上的测试项目,能够查看系统所有配件的信息,而且能够对部分配件(如CPU、内存、硬盘等进行打分(benchmark,并且可以与其它型号硬件的得分进行对比。另外,该软件还有系统稳定性综合测试、性能调整向导等附加功能。SisoftSandra软件在最近发布的Intelbensley平台上测试的内存带宽性能并不理想,不知道采用该软件测试的FBD内存性能是否还有参考价值,或许软件应该针对FBD 内存带宽的测试项目做一个升级。 Iozone(https://www.sodocs.net/doc/249867138.html,:linux下I/O性能测试 现在有很多的服务器系统都是采用linux操作系统,在linux平台下测试I/O性能可以采用iozone。iozone是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试Read,write,re-read,re-write, read backwards, read strided, fread, fwrite,random read,pread,mmap, aio_read,aio_write等等不同的模式

GNU plot 线型和字体的设置

GNU plot 线型和字体的设置 在NS2的gnuplot绘图程序中对线型(linetype)、点型(pointtype)、线条宽度(linewidth)、点大小(pointsize)、图样(style)都有相应的设定值,具体设置如下: (1)线型(linetype )。在此类型中主要设置线条的颜色,具体对应如下: n0123456 linetype black red green blue pink浅蓝 yellow (2)点型(pointtype)。此类型用于设置点得形状,可分为14中,具体对应如下: n012345678910111213 pointtype无 +×*□■○●△ ▲▽ ▼◇ ◆ (3)线条宽度(linewidth)、点大小(pointsize)。两者都可以设置为整数或小数。 (4)图样(style):gnuplot描绘数据数据图形是以读入档案中的坐标值后,以图样绘上。gnuplot 可提供9种图样,分别是: ü lines : 将相邻的点以线条连接。如plot sin(x) with lines。 ü points : 将每一点以一符号绘上。如plot sin(x) with points ü linespoints : 同时具有lines 及 points 的功能。 ü impulses : 将每一点画一垂直线至X 轴。如plot sin(x) with impulses。 ü dots : 将每一点绘一细点。如plot sin(x) with dots。 ü steps : 以垂直线及水平线各一条来连接两点,形成梯形。如连接 (x1,y1),(x2,y2)两点,以(x1,y1)到(x2,y1)和(x2,y1)到(x2,y2)两线段连接。如plot sin(x) with steps。 ü errorbars : 对每一点坐标值(x,y),画一由 (x,ylow) 至(x,yhigh) 的线段。并在线段两端做上tic mark。如plot sin(x) with errorbars。 ü boxes : The boxes style draws a box centred about the given x coordinate from the yaxis to the given y coordinate.如plot sin(x) with boxes。 ü boxerrorbars : 组合errorbars 与 boxes 两者功能。如plot sin(x) with boxerrorbars。 (5) 图例(key) 若想改变显示的图例名称,可通过下述语句实现: plot 'node1' title“node_1” #将图例显示的名称从“node1”改为“node_1” 也可以通过下述语句直接在画线条时显示: plot 'node1' title“node_1”with lines 下为一个具体例子的应用程序: gnuplot> set title “cbr_delay” font“Times-Roman,12” #该图的标头为cbr_delay,字体大小为12号 gnuplot> set xlabel “simulation time” #该图x轴的标示为simulation time gnuplot> set ylabel “delay time” #该图y轴的标示为simulation time gnuplot> xrange [0:10] #设置x轴的坐标范围为0到10

libsvm详细训练步骤

1、正样本的大小一定要与检测窗口大小保持一致。 2、Dalal的训练可以分为3步: a 、正样本图像若干(窗口大小),负样本图像若干,负样本图像的尺寸任意。从负样本图像的随机位置抽取窗口大小的图像,作为真正参与训练的负样本。然后从所有样本图像中提取特征(对每一个64*128的图像Dalal提取一个3780维的特征向量),然后用svm训练,得到一个初始的分类器。 b、这一步要在前面的负样本图像中抽取大量的具有窗口尺寸的负样本。对每一个负样本图像,可以经过若干次缩放处理得到不同层次上的金字塔图像(pyramid),不过要保证其大于等于窗口尺寸。(这里面就用到了-startscale, -endscale, -scaleratio这三个参数。)检测窗也可以在这些金字塔图像上平移滑动,每一个位置都对应了一个窗口大小的负样本。用初始分类器检测这些负样本,记录所有分类错误的负样本,这就是所谓的(hard samples) c、把分类错误的负样本集加入到初始的训练集中,重新训练,生成最终的分类器。 We selected 1239 of the images as positive training examples, together with their left-right reflections (2478 images in all). A xed set of 12180 patches sampled randomly from 1218 person-free training photos provided the initial negative set. For each detector and parameter combination a preliminary detector is trained and the 1218 negative training photos are searched exhaustively for false positives (`hard examples'). The method is then re-trained using this augmented set (initial 12180 + hard examples) to produce the nal detector. The set of hard examples is subsampled if necessary, so that the descriptors of the nal training set it into 1.7 Gb of RAM for SVM training. 1. 程序介绍和环境设置 windows下的libsvm是在命令行运行的Console Program。所以其运行都是在windows的命令行提示符窗口运行(运行,输入cmd)。运行主要用到的程序,由如下内容组成: libsvm-2.9/windows/文件夹中的: svm-train.exe svm-predict.exe svm-scale.exe libsvm-2.9/windows/文件夹中的: checkdata.py subset.py easy.py grid.py 另外有: svm-toy.exe,我暂时知道的是用于演示svm分类。其中的load按钮的功能,是否能直接载入数据并进行分类还不清楚,尝试没有成功; python文件夹及其中的svmc.pyd,暂时不清楚功能。

新增或修改NS2的核心模块

這個章節最主要的目的就是希望使用者可以學會如何新增或修改ns2的核心模組,更明確的說就是去新增和修改[*.cc, *.h]檔案,以筆者和筆者朋友學習ns2的經驗來說,這需要花很多時間和很大的勇氣,時間是花來找資料,勇氣是用來承受當程式寫不好時,ns2可能隨時會當掉。不過別怕,只要跟著筆者所介紹的方法,一定可以成功,若是不成功,就寫信給筆者吧。 若是一開始就要叫ns2的新手去增加的模組,新手一定會哇哇叫,所以筆者不會這樣做,筆者先教大家拷貝ns2已經有的模組檔,但改成別的名字,這樣就可以輕鬆且很明確知道該如何增加模組。 (1)(1)打開cygwin的命令視窗,把路徑切換到queue的目錄下。 cd ns-allinone-2.27/ns-2.27/queue (2)(2)拷貝drop-tail.[cc, h]到myfifo.[cc.h]。 cp https://www.sodocs.net/doc/249867138.html, https://www.sodocs.net/doc/249867138.html, cp drop-tail.h myfifo.h (3)(3)使用文字編輯軟體去修改myfifo.h和https://www.sodocs.net/doc/249867138.html,。(因為我們的環境是在windows下, 所以建議可以使用ultra-edit來修改。 a. a.先修改myfifo.h,使用取代的功能把所有DropTail改成myfifo,另外,把drop_tail 改成myfifo。 #ifndef ns_myfifo_h #define ns_myfifo_h #include #include "queue.h" #include "config.h" /* * A bounded, drop-tail queue */ class myfifo : public Queue { public: myfifo() { q_ = new PacketQueue; pq_ = q_; bind_bool("drop_front_", &drop_front_); bind_bool("summarystats_", &summarystats); bind_bool("queue_in_bytes_", &qib_); // boolean: q in bytes? bind("mean_pktsize_", &mean_pktsize_); // _RENAMED("drop-front_", "drop_front_"); } ~myfifo() { delete q_; } protected: void reset(); int command(int argc, const char*const* argv); void enque(Packet*); Packet* deque(); void shrink_queue(); // To shrink queue and drop excessive packets. PacketQueue *q_; /* underlying FIFO queue */ int drop_front_; /* drop-from-front (rather than from tail) */ int summarystats; void print_summarystats(); int qib_; /* bool: queue measured in bytes? */ int mean_pktsize_; /* configured mean packet size in bytes */

【PDF】计算材料学MDexpRef

计算材料学 分子动力学上机实验教程(2014.04) 课时安排、重要通知、更新、软件下载请见: https://www.sodocs.net/doc/249867138.html, 上机实验相关软件分类介绍 分子动力学:LAMMPS --- 附录1 操作系统:CentOS(linux)--- 附录2 可视化:Atomeye --- 附录3(课堂使用),OVITO --- 附录4(推荐课下使用) 画图:Gnuplot --- 附录5 文本编辑:Gedit:Linux,GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,简单易用,支持包括gb2312、gbk在内的多种字符编码。 远程登录和文件传输:sftp(Xmanager) 附录1. LAMMPS介绍: LAMMPS-Large-scale Atomic/Molecular Massively Parallel Simulator, 大规模原子分子并行模拟器。美国Sandia 国家实验室开发,开放源代码且可以免费获取使用,使用者可以根据自己需要自行修改源代码。LAMMPS可以支持包括气态,液态或者固态相形态下、各种系综下、百万级的原子分子体系,并提供支持多种势函数。 且LAMMPS有良好的并行扩展性。 材料领域,LAMMPS已经是准标准化的分子动力学软件。 LAMMPS官网:https://www.sodocs.net/doc/249867138.html,/ 使用LAMMPS: (1)输入一般至少包括两个: (a)input文件: LAMMPS命令集成在该文本中,可以包括MD相关的模型结构,弛豫条件,加载方式,输出 内容等绝大多数信息。具体每一行语句在官网上有详细的解释。我们学习的一项主要内容是理解和改写input文件。 (b)势函数文件:将势函数的参数等信息独立出来,写成单独的一个文件,在input文件内调入使用。 (2)运行软件: 保证当前目录下写好了input文件和势函数文件,终端上输入命令(串行): (3)输出一般有三个部分:(所有输出都与input文件与输出相关的指令相关) (a)直接输出在屏幕上,一些程序运行的关键信息直接出现输出屏幕上,一般是整个体系的信息。这些内容默 认保存在https://www.sodocs.net/doc/249867138.html,mmps文件里,我们称为log文件。 (b)输出记录每个原子信息的文件,有多种形式,我们的到的x.cfg文件是可以被可可视化软件Atomeye直接 读取的。也可以用gedit直接打开,可以看到每一行记录一个原子的信息,比如坐标,速度,动能,势能等。 (c)其它按照input文件中的指令计算并输出的文件或者是对log文件中的内容处理提取得到的文件。同样可 以用gedit打开,我们可以对其进行后续的分析,计算,画图等处理。 Input脚本语法介绍: (LAMMPS版本更新非常快,这里只是对本课程所需的命令及其它部分常用命令的介绍,关注LAMMPS官网https://www.sodocs.net/doc/249867138.html,/,是学习LAMMPS最有效的方法!) 以下□表示空格,红色表示可更改的参数

Gnuplot简单使用

Gnuplot简单使用 2008年12月

一、最简单的例子 gnuplot>plot sin(x) 其中gnuplot> 为命令提示符,不是命令的一部分,结果如下: 二、加入设置 1、设置x、y坐标的范围 改变坐标范围 set xrange [xmin:xmax] set yrange [ymin:ymax] 让gnuplot决定坐标轴范围gnuplot>set autoscale 也可以只在本次绘图中设置,使用plot [xmin:xmax] [ymin:ymax] f(x),例如:gnuplot>plot [0:5] [-2:2] sin(x) ,结果如下

可只设置x或y的范围,如只设置x范围gnuplot>plot [0:5] sin(x) 结果: 只设置y的范围 gnuplot>plot [] [0:1] sin(x) 结果: 只设置一边,如设置y为小于0 gnuplot>plot [] [:0] sin(x) 结果:

2、设置坐标轴名称 gnuplot>set xlabel ‘xlabel’ ; set ylabel ‘ylabel’ ; plot sin(x)可以在一行写多个命令,命令间用分号隔开;结果如下: 取消坐标轴名称设置 gnuplot>unset xlabel gnuplot>unset ylabel 3、设置对数坐标 设置为对数坐标 set logscale

设置x、y轴为对数坐标 gnuplot>set logscale x gnuplot>set logscale y 取消对数坐标 unset logscale 4、设置绘图标题 gnuplot>set title ‘title’ gnuplot>plot sin(x) 取消绘图标题设置unset title 5、同时绘制多个函数 gnuplot>plot f1(x),f2(x),......fn(x),例如:gnuplot>plot sin(x),x ,结果:

Gnuplot简易中文入门指南

Gnuplot 使用技巧 郑小宏 2005-10-21 对于在Linux下工作的人,如果你经常要画一些二维图和简单的三维图的话,那么,gnuplot无疑是一个非常好的选择,不仅图形漂亮,而且操作简单。当然如果需要质量更高的三维图,请用其他的一些专业绘图软件。建议大家学会使用gnuplot。这个小软件通常都是Redhat Linux自带的,但自带的版本是3.7的,建议将其升级到4.0,新版本具有很多新功能。最新版本可以到https://www.sodocs.net/doc/249867138.html,下载。 一些最基本的操作请大家看说明书。这里总结一下我在使用过程中遇到的一些问题以及解决的办法,目的是让那些以前不会的或不熟练的能快速入门,会画自己想要的图,因为原来的说明书很长,较难有针对性地很快找到自己想要的信息。这里简单的总结不可能面面俱到,所以大家不要抱怨我写的不全,更全面的了解还是请看说明书,网上的资料也多的是。其实这也是我们从网上一点一点搜集和摸索出来的。我相信看完后,应该平时最常见的问题基本上都能在这里找到答案。如果大家在使用过程中摸索到了我没有写到的技巧和体会,或有其它建议,请大家提告诉我,以不断完善这篇总结,谢谢! 一、基础篇: 在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出。 1、plot命令 gnuplot> plot sin(x) with line linetype 3 linewidth 2 或 gnuplot> plot sin(x) w l lt 3 lw 2 %用线画,线的类型(包括颜色与虚线的类型)是3,线的宽度是2,对函数sin(x)作图 gnuplot> plot sin(x) with point pointtype 3 pointsize 2 或 gnuplot> plot sin(x) w p pt 3 ps 2 %用点画,点的类型(包括颜色与点的类型)是3,点的大小是2

实验Matlab三维作图的绘制

实验9 三维绘图 一、实验目的 学会MATLAB软件中三维绘图的方法。 二、实验内容与要求 1.三维曲线图 格式一:plot3(X,Y,Z,S). 说明:当X,Y,Z均为同维向量时,则plot3描出点X(i),Y(i),Z(i)依次相连的空间曲线.若X,Y均为同维矩阵,X,Y,Z每一组相应列向量为坐标画出一条曲线,S为‘color﹣linestyle﹣marker’控制字符表1.6~表1.10. 【例1.79】绘制螺旋线. >>t=0:pi/60:10*pi; >>x=sin(t); >>y=cos(t); >>plot3(x,y,t,’*-b’) >>grid on 图形的结果如图1.16所示. 格式二:comet3(x,y,z). 说明:显示一个彗星通过数据x,y,z确定的三维曲线. 【例1.80】 >>t=-20*pi:pi/50:20*pi; >>comet3(sin(t),cos(t),t) 可见到彗星头(一个小圆圈)沿着数据指定的轨道前进的动画图象,彗星轨道为整个函数所画的螺旋线. 格式三:fill3(X,Y,Z,C) ℅填充由参数X,Y,Z确定的多边形,参数C指定颜色. 图1.16 例1.79图形结果图1.17 例1.81图形结果 【例1.81】

>>X=[2,1,2;9,7,1;6,7,0]; >>Y=[1,7,0;4,7,9;0,4,3]; >>Z=[1,8,6;7,9,6;1,6,1]; >>C=[1,0,0;0,1,0;0,0,1] >>fill3(X,Y,Z,C) >>grid on 图形的结果如图1.17所示. 问题1.30:图1.17中每个三角形按什么规律画出的?(用X,Y,Z的对应列元素值为坐标画三角形)每个三角形内填充的颜色又有何规律?(用C 第i列元素值对应的颜色,从第i个三角形对应顶点向中心过渡)若C=[1,5,10;1,5,10;1,5,10],结果如何? 2.三维网格图 格式:mesh(X,Y,Z,C) ℅画出颜色由C指定的三维网格图. meshc(X,Y,Z,C) ℅画出带有等高线的三维网格图. meshz(X,Y,Z,C) ℅画出带有底座的三维网格图. 说明:若X与Y均为向量,n=length(X),m=length(Y), Z必须满足[m,n]=size(Z),则空间中的点(X(j),Y(i),Z(i,j))为所画曲面网线的交点,X 对应于Z的列,Y对应于Z的行;若X,Y,Z均为同维矩阵,则空间中的点(X(i,j),Y(i,j),Z(i,j))为所画曲面的网线的交点;矩阵C指定网线的颜色,MATLAB对矩阵C中的数据进行线性处理,以便从当前色图中获得有用的颜色,若C缺省,网线颜色和曲面的高度Z相匹配. 在三维作图常用到命令meshgrid,其功能是生成二元函数z=f(x,y)中x-y平面上的矩形定义域中数据点矩阵X和Y. 格式:[X,Y]= meshgrid(x,y). 说明:输入向量x为x-y平面上x轴的值,向量y为x-y平面上y轴的值.输出矩阵X为x-y平面上数据点的横坐标值,输出矩阵Y为x-y平面上数据点的纵坐标值. 【例1.82】 >> x=1:4; >> y=1:5; >> [x,y]=meshgrid(x,y) x = 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 y = 1 1 1 1

相关主题