多时隙中的误差棒偏移量

时间:2017-02-02 17:19:20

标签: gnuplot errorbar

data.txt中

test1   10  1

test2   10  2

test3   12  3

.plt文件

set terminal postscript eps solid color enhanced "Helvetica" 20
set output "io1.eps"
set size 1,1
set multiplot layout 1,2
set style histogram errorbars gap 1 lw 1 title textcolor lt -1
set style data histograms

set lmargin at screen 0.1; set rmargin at screen 0.45
set xrange [-0.5:1.5]
set yrange [0:15]
plot './data.txt' every :::0::0 using 2:3 title "aaa" fc rgb "#00ff00" fs pattern 9

set lmargin at screen 0.55; set rmargin at screen 0.9
set xrange [-0.5:1.5]
set yrange [0:15]
plot './data.txt' every :::1::1 using 2:3 title "bbb" fc rgb "#f0f000" fs pattern 3 

unset multiplot

结果

enter image description here

问题

第二个子图中的平均值列和错误栏之间有差距,如何解决?

1 个答案:

答案 0 :(得分:2)

我没有完全解释为什么会这样。似乎gnuplot隐式使用当前数据集中的记录索引。当两个空行开始新数据集时,将重置此索引。

也许您可以通过在数据行之间使用2个空行而不是仅使用一行来更改数据文件。然后,您可以使用index代替every来访问数据,如下所示:

替换两个绘图命令

plot './data.txt' every :::0::0 using 2:3 title "aaa" fc rgb "#00ff00" fs pattern 9
plot './data.txt' every :::1::1 using 2:3 title "bbb" fc rgb "#f0f000" fs pattern 3

通过

plot './data.txt' index 0 using 2:3 title "aaa" fc rgb "#00ff00" fs pattern 9
plot './data.txt' index 1 using 2:3 title "bbb" fc rgb "#f0f000" fs pattern 3

现在可行:

enter image description here