不同列的数据点之间的行

时间:2016-01-25 23:56:02

标签: plot gnuplot

我将这些示例数据保存在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值。 (下面的照片涂鸦)

same image with lines between datapoints

有什么方法可以用gnuplot实现这个目标吗?

1 个答案:

答案 0 :(得分:1)

使用矢量样式

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

矢量样式需要4个值,即x和y坐标,x变化(本例中为0)和y变化(2列之间的差异)。 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"

给出

enter image description here

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

有关矢量样式的更多信息,请参阅help vectors