使用误差线绘制gnuplot

17

我的"file.txt"文件中的数据如下所示(显示了示例行)

31 1772911000 6789494.2537881

请注意第二列是输入样本的均值,第三列是标准偏差。所以,对于误差棒,我需要在x轴值为31处绘制一根棒子,误差棒的起点为(第二列数值-第三列数值),终点为(第二列数值+第三列数值)。 我尝试了以下方法:

plot "file.txt" using ($1-$2):1:($2+$1) with errorbars

但结果不合适,有什么帮助吗?

2个回答

27

你需要 x:y:err,所以尝试

plot "file.txt" using 1:2:3 with yerrorbars

yerrorbars

你也可以考虑使用蜡烛图。它们通常是一个带有向上和向下延伸的误差棒的框,但将最小值和最大值设置为相同,应该会给你所需大小的框:

plot "file.txt" using 1:($2-$3):($2-$3):($2+$3):($2+$3) with candlesticks

蜡烛图


谢谢。第一个起作用了,但是第二个出现了下列错误:gnuplot> set style boxplot candlesticks ^ 此处应该为'data'、'function'、'line'、'fill'或者'arrow' - user506901
2
@user506901 -- 从gnuplot文档来看,你只需要使用plot "file.txt" using ... with candlesticks就可以了。我不确定Phil H在使用set style boxplot candlesticks时做了什么...(我正在使用gnuplot 4.4.2),也许这种行为在4.6中已经改变了? - mgilson
@mgilson:你说得对,我太相信帮助文件了,我不经常使用蜡烛图,所以记不住。现在已经修复了,谢谢。 - Phil H
1
@PhilH -- 有问题的代码行 set style boxplot candlesticks 还在那里 ;-)-- 你也需要删除那一行。 - mgilson

7
您也可以尝试以下方法:
plot "file.txt" using 1:2:($2-$3):($2+$3) with errorbars

($2-$3)是y轴误差条的低值,而($2+$3)是y轴误差条的高值。

然而,我认为你应该使用标准误差=标准偏差/平方根(样本量),而不是标准偏差来计算误差条。


1
使用标准差、标准误差或95%置信区间作为误差线取决于您希望通过绘图传达什么信息。例如,请参阅《Journal of Cell Biology》中的此论文中的讨论。 - Dima Chubarov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接