在Gnuplot中绘制垂直线以表示一维数据
我试图使用Gnuplot绘制TCP连接的带宽增长 我有两个日志文件,一个带有带宽,另一个带有发生丢包的时间戳。我想在与带宽相同的图形中表示丢包,可能在X轴(时间)上有一条垂直线 请提供建议 作为一个非常粗略的例子,下面是文件格式 带宽.dat在Gnuplot中绘制垂直线以表示一维数据,gnuplot,Gnuplot,我试图使用Gnuplot绘制TCP连接的带宽增长 我有两个日志文件,一个带有带宽,另一个带有发生丢包的时间戳。我想在与带宽相同的图形中表示丢包,可能在X轴(时间)上有一条垂直线 请提供建议 作为一个非常粗略的例子,下面是文件格式 带宽.dat 0.001 2 零点零零二三 零点零零三五 0.004 8作为一个选项,您可以使用脉冲打印样式,从y=0到给定值绘制垂直线: max = 10 plot 'Bandwidth.dat' using 1:2 with lines linecolor rgb
0.001 2
零点零零二三
零点零零三五
0.004 8
作为一个选项,您可以使用脉冲
打印样式,从y=0到给定值绘制垂直线:
max = 10
plot 'Bandwidth.dat' using 1:2 with lines linecolor rgb 'black',\
'Packet_Drop.dat' using 1:(max) with impulses linecolor rgb 'red'
使用此选项的背面绘制是,您必须知道y轴的最大值。例如,您可以通过打印到unknown
终端,然后使用GPVAL\u Y_MAX
值来获得:
set terminal push # save current terminal
set terminal unknown
plot 'Bandwidth.dat' using 2
set terminal pop # restore terminal
plot 'Bandwidth.dat' using 1:2 with lines linecolor rgb 'black',\
'Packet_Drop.dat' using 1:(GPVAL_Y_MAX) with impulses linecolor rgb 'red'
(不能使用stats
获取自动缩放轴的最大值。)
或者,您可以将数据文件中的x值读入一个字符串中,并迭代这些单词,并相应地设置一些箭头。在Linux上,使用
packet_drop = system('cat Packet_Drop.dat')
set for [w in packet_drop] arrow from first w, graph 0 to first w, graph 1 linecolor rgb 'red' nohead
plot 'Bandwidth.dat' using 1:2 with lines lc rgb 'black'
在Windows上,它应该可以使用
packet_drop = system('type Packet_Drop.dat')
使用4.6版时,您需要使用
wgnuplot\u pipes.exe
。请显示有关日志文件格式的更多信息(两行或三行示例)以及结果的草图。谢谢!没有添加信息。对不起,我不知道如何做得更好!这就足够知道我们在谈论什么:)第一个对我来说就像一个符咒!谢谢。如果我需要的话,我会试试其他的。