gnuplot - 添加中位数以绘制带有误差线和对数刻度的 x 轴
gnuplot - adding median to plot with errorbars AND logscale'd x-axis
所以我有一些格式为
的数据文件
x y ymin ymax
我正在用 yerrorbars 绘图。
现在,我如何最好地将 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_* 形式的变量中。如果需要,我们可以使用不同的前缀。有关详细信息,请参阅 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(右侧),y 坐标在 first 坐标系中对应于 y1 轴。指定 nohead
表示不绘制箭头。紧跟在 set arrow
之后的 1 将此箭头标记为箭头 1,以便我们稍后可以轻松更改或删除它。
还有其他选项可用。有关详细信息,请参阅 help arrow
。
所以我有一些格式为
的数据文件x y ymin ymax
我正在用 yerrorbars 绘图。
现在,我如何最好地将 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_* 形式的变量中。如果需要,我们可以使用不同的前缀。有关详细信息,请参阅 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(右侧),y 坐标在 first 坐标系中对应于 y1 轴。指定 nohead
表示不绘制箭头。紧跟在 set arrow
之后的 1 将此箭头标记为箭头 1,以便我们稍后可以轻松更改或删除它。
还有其他选项可用。有关详细信息,请参阅 help arrow
。