多图中的误差线偏移

Error bars offset in multiplot

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

结果

问题

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

我没有完全解释为什么会这样。似乎 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

现在可以使用了: