不同列的数据点之间的线

Lines Between Datapoints of different columns

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

1   2
2   3
3   5
4   5
5   6

我可以通过

轻松绘制它们
plot "test.txt" u 0:1,"" u 0:2

结果是 just the data plotted

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

same image with lines between datapoints

有什么办法可以用 gnuplot 实现吗?

使用矢量样式

plot "test.txt" u 0:1,"" u 0:2, "" u 0:1:(0):(-) with vectors nohead

矢量样式需要 4 个值,它们是 x 和 y 坐标、x 变化(在本例中为 0)和 y 变化(2 列之间的差异)。 nohead 选项删除通常添加的箭头。

您可以使用大多数线型规范设置矢量样式,如有必要,可以调整坐标以增加一些间距。例如,将线条设置为黑色,并通过

在两个方向上将线条填充 0.1
plot "test.txt" u 0:1, "" u 0:2, "" u 0:(+0.1):(0):(--0.2) with vectors nohead lc "black"

给予

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

有关矢量样式的详细信息,请参阅 help vectors