75.39 Mouse

コマンド set mouse はマウス機能を有効にします。現在、pm, x11, ggi, windows, wxt の各出力ドライバがマウス拡張されています。2 種類のマウス モードがあります。2 次元グラフモードは、2 次元グラフ、または地図型表示 (すなわち、z の回転角が 0, 90, 180, 270, 360 度の set view での splot、および set view map) で動作し、グラフ上の位置の追跡、拡大表示、 グラフの注釈づけ等を可能にします。splot による 3 次元グラフに対して は、グラフの視方向 (view) と縮尺の変更が、それぞれマウスボタン 1 と 2 (によるドラッグ) で行えます。これらのボタンにさらに < ctrl> キーを押す と、座標軸のみが回転されますが、これは大きなデータに対して有用でしょう。 ボタン 2 の垂直方向のドラッグを shift キーと同時に行うと、z 軸の一番下 の位置 (xyplane) を上下します。

マウスは多重描画 (multiplot) モードでは無効ですが、unset multiplot で多重描画が終了すれば、マウス機能は ON になり、直前の描画 (ほぼ replot で描画されるもの) に対して作用します。

書式:

     set mouse {doubleclick <ms>} {nodoubleclick} \
               {{no}zoomcoordinates} \
               {noruler | ruler {at x,y}} \
               {polardistance{deg|tan} | nopolardistance} \
               {format <string>} \
               {clipboardformat <int>/<string>} \
               {mouseformat <int>/<string>} \
               {{no}labels {"labeloptions"}} \
               {{no}zoomjump} {{no}verbose}
     unset mouse

ダブルクリックの解像度はミリ秒 (ms) 単位で与えます。これは、ボタン 1 用のもので、現在のマウス位置をクリップボード (clipboard) にコピーす るのに使います。シングルクリックでそれを行うようにするには、0 ms を指 定してください。デフォルトの値は 300 ms です。

オプション zoomcoordinates は、拡大 (zoom) の時に、ズームの枠の端に その座標を書くかどうかを決定し、デフォルトでは ON になっています。

オプション norulerruler は、定規 (ruler) 機能を off, on にしま す。ruler には座標を与えて原点を設定することもできます。ruler が on の間、ruler の原点からマウスまでのユーザ単位での距離が連続的に表示 されます。デフォルトでは、ruler のトグルスイッチは 'r' にキー割り当て されています。

オプション polardistance は、マウスカーソルから定規 (ruler) までの距 離を極座標でも表示 (距離、および角度または傾き) するかどうかを決定しま す。これはデフォルトのキー割り当て '5' に対応します。

オプション format は、fprintf と似た書式文字列で、ドライバウィンドウ とクリップボード上で実数をどのように表示するかを決定します。デフォルト は "% #g" です。

clipboardformatmouseformat は、ボタン 1 とボタン 2 の作用時 (座標をクリップボードへコピー、マウス位置に一時的に注釈をつける) の文 字列の書式用に使われます。これは、キー割り当て '1', '2', '3', '4' に対 応します (ドライバのマニュアル参照)。引数が文字列の場合、その文字列は C 言語の書式で、2 つの実数の指定子を含んでいる必要があります。例: set mouse mouseformat "mouse = %5.2g, %10.2f"。この文字列を再び OFF にするには set mouse mouseformat "" としてください。

以下の書式が組み込まれています (書式 6 は書式文字列が既に指定されている場合のみ使用可):


0   カッコ内に実際の座標           例: [1.23, 2.45]
1   カッコ無に実際の座標           例:  1.23, 2.45
2   x == 時間書式 (timefmt)            [(`set timefmt` の設定), 2.45]
3   x == 日付                          [31. 12. 1999, 2.45]
4   x == 時刻                          [23:59, 2.45]
5   x == 日付 / 時刻                   [31. 12. 1999 23:59, 2.45]
6   文字列で与えられた代替書式         ""

ボタン 2 の gnuplot の永続的なラベルを定義するには、オプション labels を使用します。デフォルトは nolabels で、ボタン 2 は単に一時 的なラベルをマウス位置に描画します。ラベルは現在の mouseformat の設 定に従って書かれます。labeloptions 文字列は、コマンド set label コ マンドに渡されます。そのデフォルトは "point pointstyle 1" で、これはラ ベル位置に小さいプラス (+) を描画します。一時的なラベルは、その次の replot、またはマウスズーム操作では現れません。永続的なラベルは、ラベ ルの点の上で Ctrl キーを押してボタン 2 をクリックすることで消すことが できます。実際のラベルの位置にどれ位近くでクリックしなければいけないか の閾値も pointsize で決定されます。

オプション zoomjump が ON の場合、ボタン 3 によるズーム領域の選択を 開始すると、マウスポインタは自動的に少しだけずれた位置に移動します。 これは、ごく小さい (または空でさえある) ズーム領域を選択してしまうこと を避けるのに便利でしょう。デフォルトでは zoomjump は OFF です。

オプション verbose が ON の場合、実行時の報告コマンドが表示されます。 このオプションはドライバウィンドウ上で 6 を打つことで ON/OFF がスイ ッチできます。デフォルトでは verbose は OFF になっています。

ドライバウィンドウ上で 'h' を打つと、マウスとキー割当の短い説明が表示 されます。これは、ユーザ定義のキー割当、すなわち bind コマンドによる hotkeys (以下参照: bind (p. [*])) も表示されます。ユーザ定義の hotkeys は デフォルトのキー割当を無効にします。

ドライバウィンドウ上で 'q' を打つと、ウィンドウを閉じます。このキーは bind コマンドでは無効にできません。

以下も参照: bind (p. [*]), label (p. [*])


Subsections
竹野茂治@新潟工科大学
2010年9月13日