フルのデモでは、最も左の x の値と各グループの水平の広がりは、入力デー タ集合から計算していますが、ここではそれらの値は事前に計算し、$markup に保存されていると仮定します。
マークとラベルを y 軸でなく y2 軸に対して描画することは、データの特定 の y の範囲から注釈のマークアップを分離するのに便利です。しかしこれは 必須ではありません。他の方法として、y 軸に対してマークを描画し、追加キ ーワード "noclip noautoscale" をつければ、マークが y 軸の範囲に寄与せ ず、それに対するクリッピングもされないようにできます。
$Group_mark << EOD
# x y 1=stroke
0 -0.5 1
0 0 1
1 0 1
1 -0.5 1
0.5 0.0 1
0.5 0.5 1
EOD
set mark 1 $Group_mark
$markup << EOD
# ラベル 幅 左端
"Group 1" 4 1
"Group 2" 3 6
"Group 3" 4 10
"Group 4" 2 15
EOD
TOP = 9 # グループ化マークの y の値
set link y2
set ytics nomirror rangelimited
set border 3
plot $bar_data using ($0+$3):2:(0.8):3:xtic(1) with boxes \
lc variable, \
$markup using ($3-0.5):(TOP):2:(1) axes x1y2 with marks \
mt 1 units xy lt -1 lw 1, \
$markup using ($3-0.5+$2/2):(TOP):1 axes x1y2 with labels \
center offset 0,1.7
垂直方向に注釈に対して配置と伸縮をするマークを使用する補足的な例は以下 のデモにあります。 mark_labels.dem
竹野茂治@新潟工科大学