gnuplot-使用误差条和对数刻度将中值添加到绘图中';d x轴

gnuplot-使用误差条和对数刻度将中值添加到绘图中';d x轴,gnuplot,median,errorbar,Gnuplot,Median,Errorbar,所以我有一些格式的数据文件 x y ymin ymax 我在和耶罗巴兹密谋 现在,我如何最好地将y值的中值添加到整个x范围内的绘图中 更新 我还在logscale中绘制x轴,这似乎阻止使用STATS假设您的数据如下所示: 1 8 6 9 2 6 5 7 3 5 4 8 4 6 5 8 我们可以使用stats命令查找中值。该用法类似于plot命令。这里,我们只需要对第二列进行分析,所以我们只指定第二列: stats datafile u 2 nooutput nooutput选项告诉命令不要

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

x y ymin ymax
我在和耶罗巴兹密谋

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

更新


我还在
logscale
中绘制x轴,这似乎阻止使用
STATS

假设您的数据如下所示:

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.*形式的变量中。如果需要,我们可以使用不同的前缀。有关详细信息,请参见帮助统计信息

此时,我们有一个变量STATS\u median,用于存储y值的中值(对于样本数据为6)。我们现在可以用两种方法之一将中值添加到图表中。首先,我们可以简单地向现有的plot命令添加plot规范:

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

或者,我们可以使用
设置箭头
命令添加一行,然后仅绘制Y箭头栏:

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(右侧),并在第一个坐标系中给出y坐标,该坐标系对应于y1轴。指定
nohead
表示不绘制箭头。紧跟在
set arrow
后面的1将此箭头标记为箭头1,以便我们以后可以轻松地更改或删除它


还有其他选择。有关更多详细信息,请参见帮助箭头。

非常感谢。然而,有一个小问题。。。我在
logscale
中绘制x轴,而gnuplot拒绝让我使用统计数据。我想你也没有解决这个问题的办法?@User1291如果你在发出
set logscale x
之前运行stats命令,它似乎工作得很好。其他一切都是在logscale打开的情况下工作的不,它不。。。一直告诉我“logscale激活时统计命令不可用”。更正,它确实有效。我的错误是,我启动了gnuplot,然后加载了脚本,这导致logscale在以前的尝试中仍然处于活动状态。重新打开gnuplot成功了。有一个命令可以将x设置回线性:
unset logscale x
(对于每个
set
都有一个
unset
)。另一个好方法是在脚本
script.gp
的顶部放置一个
reset
,这样通过调用
load'script.gp'
您将始终拥有一个干净的gnuplot