使用gnuplot实现性能分析数据画图
2012-07-16 18:29:30 来源:我爱运维网 评论:0 点击:
绘图神器 gnuplot,只需要输入简单的几个命令,就可以绘制出复杂的图形,Linux系统性能测试、分析数据再也不用到excel里面去处理了。一、L...
- xrange和yrange分别是x轴和y轴的刻度范围,#可以注释掉一行代码,xrange和yrange不管也可以,Gnuplot会自动设置一个合适的值。
- set size 1,1:这是默认设置,设置图的大小为1。
- set key right top:这也是默认设置,设置说明文字的位置为右上角,同样地,你也可以自己设置其它方位,比如:left、center、bottom。
- set xtics format "%.2f":设置x轴的刻度数值保留小数点后2位。
- set ytics format "%.0f":设置y轴的刻度数值保留到整数。
- notitle lw 2:去掉线的说明,这样set key right top就不起作用了。
- lw 2表示linewidth 2,表示把线和点的粗细变为2,默认为1。
程序改进:分段拟合
这个图已经十分漂亮了,现在我们开始分段拟合,首先按照实验讲义及上面的图,可以看出在0.00 < B < 0.11段电阻与磁场是二次曲线关系,在0.11 < B < 0.45段,电阻与磁场成线性关系。因此,我们可以加上6行代码:set term post eps color enh solid datafile="MPE_8-1_MR.data" set output "MPE_8-1_MR_4.eps" set title "Magneto Resistance" set xlabel "B/T" set ylabel "R/{/Symbol W}" # set xrange [0:12] set yrange [300:800] set size 1,1 set key right top set xtics format "%.2f" set ytics format "%.0f" y1(x) = a*x**2 + b*x + c y2(x) = k*x + d fit y1(x) datafile using ($6<0.10 ? $6 : 1/0):7 via a,b,c fit y2(x) datafile using ($6>0.11 ? $6 : 1/0):7 via k,d plot datafile using 6:7 notitle lw 2, \ y1(x) notitle lw 2, \ y2(x) notitle lw 2到这里,我相信你看代码的能力已经很强了,这6行代码不解释,只给出图,见图4。
程序改进:给出拟合公式
图4已经相当完善了,不过,如果能给出两条曲线的拟合公式将再加完美:set term post eps color enh solid datafile="MPE_8-1_MR.data" set output "MPE_8-1_MR_5.eps" set title "Magneto Resistance" set xlabel "B/T" set ylabel "R/{/Symbol W}" # set xrange [0:12] set yrange [300:800] set size 1,1 set key right top set xtics format "%.2f" set ytics format "%.0f" y1(x) = a*x**2 + b*x + c y2(x) = k*x + d fit y1(x) datafile using ($6<0.10 ? $6 : 1/0):7 via a,b,c fit y2(x) datafile using ($6>0.11 ? $6 : 1/0):7 via k,d set label 1 sprintf("R_1 = %.0f B^2 + %.0f B + %.0f", a,b,c) at graph 0.6,0.4 left set label 2 sprintf("R_2 = %.0f B + %.0f", k,d) at graph 0.6,0.3 left plot datafile using 6:7 notitle lw 2, \ y1(x) notitle lw 2, \ y2(x) notitle lw 2这两行代码虽然长,但很简单,"at graph 0.6,0.4 left"是说先在这个图的(0.6,0.4)点处选个基准点,整个图的大小为(1,1),这个很好理解,left是说标签放在这一点的左侧。有图有真相,看图5。
分享到:
收藏
评论排行
- ·Windows(Win7)下用Xming...(92)
- ·使用jmx client监控activemq(20)
- ·Hive查询OOM分析(14)
- ·复杂网络架构导致的诡异...(8)
- ·使用 OpenStack 实现云...(7)
- ·影响Java EE性能的十大问题(6)
- ·云计算平台管理的三大利...(6)
- ·Mysql数据库复制延时分析(5)
- ·OpenStack Nova开发与测...(4)
- ·LTPP一键安装包1.2 发布(4)
- ·Linux下系统或服务排障的...(4)
- ·PHP发布5.4.4 和 5.3.1...(4)
- ·RSYSLOG搭建集中日志管理服务(4)
- ·转换程序源码的编码格式[...(3)
- ·Linux 的木马程式 Wirenet 出现(3)
- ·Nginx 发布1.2.1稳定版...(3)
- ·zend framework文件读取漏洞分析(3)
- ·Percona Playback 0.3 development release(3)
- ·运维业务与CMDB集成关系一例(3)
- ·应该知道的Linux技巧(3)