在Gnuplot中绘制垂直线以表示一维数据

在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

我试图使用Gnuplot绘制TCP连接的带宽增长

我有两个日志文件,一个带有带宽,另一个带有发生丢包的时间戳。我想在与带宽相同的图形中表示丢包,可能在X轴(时间)上有一条垂直线

请提供建议

作为一个非常粗略的例子,下面是文件格式

带宽.dat
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

请显示有关日志文件格式的更多信息(两行或三行示例)以及结果的草图。谢谢!没有添加信息。对不起,我不知道如何做得更好!这就足够知道我们在谈论什么:)第一个对我来说就像一个符咒!谢谢。如果我需要的话,我会试试其他的。