绘制数据点统计信息(最小值,最大值,中位数)

时间:2019-05-16 12:56:44

标签: gnuplot

我的文件(file.dat)包含以下格式

#X    Avg       Median  Min         Max
6144  329.355   329.368 329.058899  329.504681
7168  447.697   447.717 447.254499  447.886343
8192  582.577   582.611 581.954116  582.844339
9216  739.178   739.211 738.535311  739.525144
10240  911.311  911.406 910.030310  911.942631
11264  1103.01  1103.08 1101.368124 1103.849248
12288  1312.4   1312.54 1310.437674 1313.122151

如何绘制Median作为数据点,然后将MinMax绘制为错误,并显示candlestickserrorb或类似的间隔?

enter image description here

我已经完成了以下

plot "file.dat" u 1:3:4:5 w yerrorbars pt 3 lc rgb 'red'

但是输出图不可见。还有其他想法吗?

enter image description here

1 个答案:

答案 0 :(得分:2)

我想您应该重新考虑显示数据的方式。 在300到1400的范围内,如何显示小于0.2%的偏差作为误差线? 我的建议是使用y轴显示中值,使用y2轴显示与中值的最小/最大偏差,例如百分比。

代码:

### yerrorbars
reset session

$Data <<EOD
#X    Avg       Median  Min         Max
6144  329.355   329.368 329.058899  329.504681
7168  447.697   447.717 447.254499  447.886343
8192  582.577   582.611 581.954116  582.844339
9216  739.178   739.211 738.535311  739.525144
10240  911.311  911.406 910.030310  911.942631
11264  1103.01  1103.08 1101.368124 1103.849248
12288  1312.4   1312.54 1310.437674 1313.122151
EOD

set key left
set ylabel "Median"
set ytics nomirror
set y2label "Deviation from median in %"
set y2tics nomirror

set errorbars large
plot $Data u 1:3 axes x1y1 w p pt 7 lc rgb "red" title "Median",\
    '' u 1:(0):(($4-$3)/$3*100):(($5-$3)/$3*100) axes x1y2 w yerrorbars title "Deviation from median in %"  
### end of code

结果:

enter image description here