Plot 不同列的数据点之间的行

Plot 不同列的数据点之间的行,plot,gnuplot,Plot,Gnuplot,我将这些示例数据保存在test.txt中 1 2 2 3 3 5 4 5 5 6 我可以很容易地用计算机绘制它们 plot "test.txt" u 0:1,"" u 0:2 结果是 但是我想要的是数据点之间的一些线来说明差异,以及哪些点属于相同的x值。(下面是经过Photoshop处理的涂鸦) 使用gnuplot有什么方法可以实现这一点吗?使用vectors样式 plot "test.txt" u 0:1,"" u 0:2, "" u 0:1:(0):($2-$1)

我将这些示例数据保存在test.txt中

1   2
2   3
3   5
4   5
5   6
我可以很容易地用计算机绘制它们

plot "test.txt" u 0:1,"" u 0:2
结果是

但是我想要的是数据点之间的一些线来说明差异,以及哪些点属于相同的x值。(下面是经过Photoshop处理的涂鸦)

使用gnuplot有什么方法可以实现这一点吗?

使用vectors样式

plot "test.txt" u 0:1,"" u 0:2, "" u 0:1:(0):($2-$1) with vectors nohead
矢量样式需要4个值,即x和y坐标、x变化(在本例中为0)和y变化(两列之间的差异)。nohead选项删除通常添加的箭头

可以使用大多数线型规范设置向量的样式,如有必要,可以调整坐标以添加一些间距。例如,将线条设置为黑色,并在两个方向上按0.1填充线条

plot "test.txt" u 0:1, "" u 0:2, "" u 0:($1+0.1):(0):($2-$1-0.2) with vectors nohead lc "black"
给予

我用
set xrange
set yrange
手动设置范围以匹配您的图像,因为我使用的默认值略有不同

有关向量样式的更多信息,请参见帮助向量