Credits Overview Plotting Styles Commands Terminals

例: 注釈 (Example: annotation)

マークが変形可能であるという事実は、ひとつのマーク定義は、描画範囲や描 画要素群に注釈をつけたマークアップ要素として、適切に伸縮して描画できる マークのテンプレートとして使えることを意味します。以下の例は、ひとつ定 義したマークを、棒グラフの選択したグループのハイライトとラベルに合わせ て配置し水平方向に伸縮して使用しています。 この例は以下のデモを簡略化したものです。 mark_grouping.dem フルのデモでは、最も左の x の値と各グループの水平の広がりは、入力デー タ集合から計算していますが、ここではそれらの値は事前に計算し、$markup に保存されていると仮定します。

マークとラベルを y 軸でなく y2 軸に対して描画することは、データの特定 の y の範囲から注釈のマークアップを分離するのに便利です。しかしこれは 必須ではありません。他の方法として、y 軸に対してマークを描画し、追加キ ーワード "noclip noautoscale" をつければ、マークが y 軸の範囲に寄与せ ず、それに対するクリッピングもされないようにできます。

figure_marksannotate

     $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