1

所以我有一些格式的数据文件

x y ymin ymax

我正在用 yerrorbars 进行绘图。

现在,我如何最好地将值的中y值添加到在整个范围内运行的图中x

更新

我还在绘制logscale似乎阻止使用STATS.

4

1 回答 1

1

假设您的数据如下所示:

1 8 6 9
2 6 5 7
3 5 4 8
4 6 5 8

我们可以使用stats命令找到中位数。用法类似于 plot 命令。这里,我们只需要对第二列做分析,所以我们只指定第二列:

stats datafile u 2 nooutput

nooutput选项告诉命令不要打印结果如果我们希望看到完整的分析,我们只需省略该规范。默认情况下,该stats命令将其结果存储在STATS_*形式的变量中。如果需要,我们可以使用不同的前缀。有关help stats更多详细信息,请参阅。

此时,我们有一个变量STATS_median来存储 y 值的中位数(样本数据为 6)。我们现在可以通过以下两种方式之一将中值添加到图表中。首先,我们可以简单地将绘图规范添加到现有的绘图命令中:

plot datafile u 1:2:3:4 with yerrorbars, STATS_median

在此处输入图像描述

或者我们可以在set arrow命令中添加一行,然后只绘制 yerrorbars:

set arrow 1 from graph 0, first STATS_median to graph 1, first STATS_median nohead
plot datafile u 1:2:3:4 with yerrorbars

在此处输入图像描述

这里我们以图形单位给出 x 坐标,范围从 0(左侧)到 1(右侧),以及对应于 y1 轴的第一个坐标系中的 y 坐标。指定nohead表示不绘制箭头。紧随其后的 1set arrow将此箭头标记为箭头 1,以便我们以后可以轻松更改或删除它。

其他选项可用。有关help arrow更多详细信息,请参阅。

于 2016-03-09T19:44:37.797 回答