gnuplot直方图标签值

gnuplot直方图标签值,gnuplot,histogram,Gnuplot,Histogram,我想将Y值放在下图的直方图条的顶部: ` 当我尝试使用标签时,gnuplot给出的错误是没有足够的列用于此样式 我的数据文件是 #WASTAGE CRCH HEFT Cybershake 20.89 22.5785714286 LIGO 187.3228571429 199.5134285714 SIPHT 205.7514285714 210.3685714286 Montage 12.14857142

我想将Y值放在下图的直方图条的顶部: `

当我尝试使用标签时,gnuplot给出的错误是
没有足够的列用于此样式
我的数据文件是

 #WASTAGE   
        CRCH        HEFT
Cybershake  20.89       22.5785714286
LIGO        187.3228571429  199.5134285714
SIPHT       205.7514285714  210.3685714286
Montage     12.1485714286   12.7942857143

一种可能是手动放置这些标签,例如:

reset
fontSpec(s) = sprintf("Times-Roman, %d", s)

set term post eps enhanced fontSpec(16)
set output 'avg_waste.eps'

set grid
set auto y
set auto x

ticsFont=fontSpec(16)
set xtics font ticsFont
set ytics font ticsFont

set ylabel "Average Resource Wastage" font fontSpec(25) offset char -1,0
set xlabel "Workflows" font fontSpec(25) offset 0,char -1

set style fill pattern border -1
set style data histograms
set boxwidth 1.0
set style histogram clustered gap 1

keyFont=fontSpec(18)
set key spacing 2 font keyFont
#using directly 'set key spacing 2 font fontSpec(18)' doesn't seem to work...

set key at graph 0.25, 0.9

fn(v) = sprintf("%.1f", v)

plot \
    for [COL=2:3] 'avg_waste' using COL:xticlabels(1) title columnheader fs pattern 2, \
    'avg_waste' u ($0-1-1./6):2:(fn($2)) w labels font fontSpec(14) offset char 0,0.5 t '' , \
    'avg_waste' u ($0-1+1./6):3:(fn($3)) w labels font fontSpec(14) offset char 0,0.5 t ''
此外,由于您似乎希望使用取自ColumnHeader的标题,因此上面的脚本假定输入数据的格式为:

WASTAGE   CRCH        HEFT
Cybershake  20.89       22.5785714286
LIGO        187.3228571429  199.5134285714
SIPHT       205.7514285714  210.3685714286
Montage     12.1485714286   12.7942857143
i、 例如,第一行没有注释掉

然后产生:

编辑:
至于
使用
规范
($0-1-1./6):2:(fn($2))
,它基于这样一个事实,即单个的“块”条位于整数坐标0、1、2和3的中心。现在,每组有两个块,每个块的宽度为0.3(每组中心之间有两个块+空间中有一个空块)。列0,
$0
包含数据文件中特定行的基于0的索引,因此例如对于“Cybershake”行,它等于1,因此语法
($0-1-1./6):2:(fn($2))
然后告诉Gnuplot将函数
fn
生成的标签放置在坐标
-1./6,$2
,即。,在“Cybershake”组的左栏顶部。这里,
fn
用作“宏”,通过
sprintf
函数格式化输入浮点数。

非常感谢!这个答案为我们节省了很多时间me@user3319015我的荣幸:)fontSpec函数出现了一个小问题,我已经更新了答案来解决这个问题……对
fn(v)=sprintf(“%.1f”,v)
行的简短描述,最后两行将非常有用。谢谢
WASTAGE   CRCH        HEFT
Cybershake  20.89       22.5785714286
LIGO        187.3228571429  199.5134285714
SIPHT       205.7514285714  210.3685714286
Montage     12.1485714286   12.7942857143