43.37 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 軸の一番下 の位置 (ticslevel) を上下します。

マウスは多重描画 (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 <string>} \
               {{no}zoomjump} {{no}verbose}
     unset mouse

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

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

オプション norulerruler は、定規 (ruler) 機能を off, on にしま す。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 にどんなオプションを 渡すかを制御します。デフォルトは "pointstyle 1" で、これはラベル位置に 小さいプラス (+) を描画します。その点の大きさは、set pointsize コ マンドで与えられることに注意してください。 ラベルは、ラベルの点の上で Ctrl キーを押してボタン 2 をクリックするこ とで消すことができます。実際のラベルの位置にどれ位近くでクリックしなけ ればいけないかの閾値も pointsize で決定されます。

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

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

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

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

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


竹野茂治@新潟工科大学
2009年4月5日