フルのデモでは、最も左の 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
竹野茂治@新潟工科大学