ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

ginput

マウスまたはカーソルからのグラフィカル入力

構文

[x,y] = ginput(n)
[x,y] = ginput
[x,y,button] = ginput(...)

説明

ginput は、マウスでカーソルの位置を定めたときの Figure 内のポイントを識別する十字カーソルを現在の Axes に表示します。関数 ginput が入力を受け取る前に、目的の Figure がフォーカスをもたなければなりません。Axes がない場合は、クリックまたはキー操作を最初に行ったときに作成されます。

[x,y] = ginput(n) は現在の Axes から n 個の点を識別し、x 座標と y 座標を列ベクトル x および y にそれぞれ返します。n 個の点を選択するまでに入力を終了する場合は、Return キーを押します。n は正の整数で指定します。

[x,y] = ginputReturn キーが押されるまで、無制限に座標点を収集します。

[x,y,button] = ginput(...)x 座標、y 座標、およびボタン、キーの指定を返します。button はクリックされたマウスボタンを示す整数 (左ボタンは 1、中央ボタンは 2、右ボタンは 3) のベクトル、またはキーボード上で押されたキーを示す ASCII 値のベクトルです。

Axes をクリックすると、その Axes が現在の Axes になります。先に現在の Axes を設定してから関数 ginput を呼び出した場合でも、クリックした Axes が現在の Axes になり、関数 ginput はその Axes に相対的な座標点を返します。複数の Axes から点を選択する場合、その Axes の座標系を基準にした結果が返されます。

    メモ:   MATLAB® を、フラグ –noFigureWindows または –nodisplay を付けて開始し、その後 ginput を実行した場合、MATLAB は次のようなエラーを返します。

    Error using ginput (line 31)
    Terminal mode is no longer supported

定義

関数 ginput によって返される座標は、クリックした Axes の XLim プロパティおよび YLim プロパティの範囲 (データ単位) にスケールされます。Axes または Figure の Units プロパティを設定しても関数 ginput の出力には影響を及ぼしません。Figure のキャンバスのどこをクリックしても、座標を取得できます。Axes 制限の外側をクリックした場合、関数 ginput は座標値を外挿するので、その場合も座標値は Axes の原点を基準にしています。

対照的に Figure の CurrentPoint プロパティは常に Figure 単位で返され、Axes の Units や制限とは無関係です。

Figure ウィンドウから 4 個の 2 次元座標点を選択します。

[x,y] = ginput(4)

マウスでカーソル位置を定めます。マウス ボタンまたはキーボードのキーを押し、座標点を入力します。4 個の点を指定する前に入力を終了する場合は、Return キーを押します。

x =
    0.2362
    0.5749
    0.5680
    0.2707

y =
    0.6711
    0.6769
    0.4313
    0.4401

plot(x,y)

この例では、関数 plot は、Axes の x 軸の範囲と y 軸の範囲を [0 1][0 1] から [0.20 0.65][0.40 0.75] まで再スケーリングしました。Axes の XLimMode プロパティと YLimMode プロパティが 'auto' (既定の設定) に設定されているので、再スケーリングが実行されました。関数 ginput からの結果を集め、まとめてプロットする際に一貫性を維持したい場合は、XLimMode プロパティと YLimMode プロパティを 'manual' に設定することを検討します。

関連する例

参考

この情報は役に立ちましたか?