このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
quiver
矢印プロットまたはベクトル プロット
構文
説明
quiver(___,
は、次のように矢印の長さを調整します。scale
)
scale
が正の数値のとき、関数quiver
は、矢印が重なり合わないように矢印の長さを自動的に調整してから、係数scale
で長さを伸ばします。たとえば、scale
が 2 の場合、矢印の長さは 2 倍になり、scale
が 0.5 の場合、矢印の長さは半分になります。quiver(X,Y,U,V,'off')
のように、scale
が'off'
または0
の場合、自動スケーリングは無効になります。
quiver(___,
は、LineSpec
,'filled'
)LineSpec
で指定したマーカーを塗りつぶします。
quiver(___,
は、1 つ以上の名前と値のペアの引数を使用して、矢印のプロパティを指定します。プロパティの一覧については、Quiver のプロパティを参照してください。名前と値のペアの引数は、その他すべての入力引数の後に指定します。名前と値のペアの引数は、その矢印プロット内のすべての矢印に適用されます。Name,Value
)
q = quiver(___)
はQuiver
オブジェクトを返します。このオブジェクトは、矢印プロットを作成後に、矢印プロットのプロパティを制御するのに便利です。
例
矢印プロットを作成
北アメリカの大気の流れを表すサンプル データを読み込みます。この例では、データのサブセットを選択します。
load('wind','x','y','u','v') X = x(11:22,11:22,1); Y = y(11:22,11:22,1); U = u(11:22,11:22,1); V = v(11:22,11:22,1);
選択したサブセットの矢印プロットを作成します。ベクトルX
とY
は各矢印の起点の位置を表し、U
とV
は各矢印の方向成分を表します。既定では、関数quiver
は、矢印が重なり合わないよう矢印の長さを短くします。axis equal
を呼び出し、各軸で等しい長さのデータ単位を使用します。これにより、矢印が正しい方向を指すようになります。
箭袋(X, Y, U, V)轴equal
自動スケーリングを無効化
既定では、関数quiver
は、矢印が重なり合わないよう矢印の長さを短くします。自動スケーリングを無効にして、矢印の長さがU
とV
のみによって決まるようにするには、scale
引数を0
に設定します。
たとえば、関数meshgrid
を使用して、X
値とY
値のグリッドを作成します。これらの値を使用して、方向成分を指定します。次に、自動スケーリングなしで、矢印プロットを作成します。
[X,Y] = meshgrid(0:6,0:6); U = 0.25*X; V = 0.5*Y; quiver(X,Y,U,V,0)
勾配と等高線をプロット
関数
の勾配と等高線をプロットします。関数quiver
を使用して勾配をプロットし、関数contour
を使用して等高線をプロットします。
まず、等間隔のx値とy値のグリッドを作成します。それらを使用してzを計算します。次に、点の間隔を指定することによって、zの勾配を特定します。
spacing = 0.2; [X,Y] = meshgrid(-2:spacing:2); Z = X.*exp(-X.^2 - Y.^2); [DX,DY] = gradient(Z,spacing);
勾配ベクトルを矢印プロットとして表示します。次に、同じ座標軸上に等高線を表示します。axis equal
を呼び出して、勾配ベクトルが等高線に対して垂直に表示されるよう表示を調整します。
quiver(X,Y,DX,DY) holdoncontour(X,Y,Z) axisequalholdoff
矢印の色を指定
矢印プロットを作成し、矢印の色を指定します。
[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi); U = sin(Y); V = cos(X); quiver(X,Y,U,V,'r')
矢印プロットの座標軸を指定
X
値とY
値のグリッドを作成してから、方向成分U
およびV
を 2 組作成します。
[X,Y] = meshgrid(0:pi/8:pi,-pi:pi/8:pi); U1 = sin(X); V1 = cos(Y); U2 = sin(Y); V2 = cos(X);
2つの座標軸ax1
とax2
をもつプロットのタイル レイアウトを作成します。各座標軸に矢印プロットとタイトルを追加します "(R2019bより前では、tiledlayout
およびnexttile
の代わりにsubplot
を使用してください)。"
tiledlayout(1,2) ax1 = nexttile; quiver(ax1,X,Y,U1,V1) axisequaltitle(ax1,'Left Plot') ax2 = nexttile; quiver(ax2,X,Y,U2,V2) axisequaltitle(ax2,'Right Plot')
矢印プロットを作成後に変更
矢印プロットを作成し、quiver オブジェクトを返します。次に、矢じりを削除し、各矢印の起点にドット マーカーを追加します。
[X,Y] = meshgrid(-pi:pi/8:pi,-pi:pi/8:pi); U = sin(Y); V = cos(X); q = quiver(X,Y,U,V); q.ShowArrowHead ='off'; q.Marker ='.';
入力引数
LineSpec
—ライン スタイル、マーカー、色
文字ベクトル|string
ライン スタイル、マーカーおよび色。記号を含む文字ベクトルまたは string として指定します。記号の順番は任意です。3 つの特性 (ライン スタイル、マーカーおよび色) をすべて指定する必要はありません。
LineSpec
を使用してマーカーを指定する場合、quiver
は矢じりを表示しません。マーカーを指定し、かつ矢じりを表示するには、代わりにMarker
プロパティを設定します。
例:'--or'
は丸いマーカーをもった赤い破線
ライン スタイル | 説明 | 結果として得られる線 |
---|---|---|
'-' |
実線 |
|
'--' |
破線 |
|
':' |
点線 |
|
'-.' |
一点鎖線 |
|
マーカー | 説明 | 結果のマーカー |
---|---|---|
'o' |
円 |
|
'+' |
プラス記号 |
|
'*' |
アスタリスク |
|
'.' |
点 |
|
'x' |
十字 |
|
'_' |
水平線 |
|
'|' |
垂直線 |
|
's' |
正方形 |
|
'd' |
菱形 |
|
'^' |
上向き三角形 |
|
'v' |
下向き三角形 |
|
'>' |
右向き三角形 |
|
'<' |
左向き三角形 |
|
'p' |
星形五角形 |
|
'h' |
星形六角形 |
|
色名 | 省略名 | RGB 3 成分 | 外観 |
---|---|---|---|
'red' |
'r' |
[1 0 0] |
|
'green' |
'g' |
[0 1 0] |
|
'blue' |
'b' |
[0 0 1] |
|
'cyan' |
'c' |
[0 1 1] |
|
'magenta' |
'm' |
[1 0 1] |
|
'yellow' |
'y' |
[1 1 0] |
|
'black' |
'k' |
[0 0 0] |
|
'white' |
'w' |
[1 1 1] |
|
scale
—矢印のスケーリング係数
正の数値|'off'
矢印のスケーリング係数。正の数値または'off'
として指定します。既定では、関数quiver
は、矢印が重なり合わないように矢印を自動的にスケーリングします。関数quiver
は、矢印を自動的にスケーリングした後に、スケーリング係数を適用します。
scale
を指定することは、quiver オブジェクトのAutoScaleFactor
プロパティを設定することと同じです。たとえば、scale
を2
に指定すると、矢印の長さが 2 倍になります。scale
を0.5
に指定すると、矢印の長さが半分になります。
自動スケーリングを無効にするには、scale
を'off'
または0
に指定します。それらの値のいずれかを指定すると、quiver オブジェクトのAutoScale
プロパティが'off'
に設定され、矢印の長さがU
とV
のみによって決まるようになります。
ax
—ターゲット座標軸
Axes
オブジェクト
ターゲット座標軸。Axes
オブジェクトとして指定します。座標軸を指定しない場合、関数quiver
は現在の座標軸を使用します。
名前と値の引数
例:'Color','r','LineWidth',1
オプションのName,Value
の引数ペアをコンマ区切りで指定します。Name
は引数名で、Value
は対応する値です。Name
は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN
のように、複数の名前と値のペアの引数を任意の順序で指定できます。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、Quiver のプロパティを参照してください。
LineWidth
—矢印の軸と矢じりの幅
0.5
(既定値) |スカラー数値
矢印の軸と矢じりの幅。ポイント単位の 0 より大きいスカラー数値として指定します。1 ポイントは1/72
インチです。既定値は0.5
ポイントです。
例:0.75
ShowArrowHead
—矢じりの表示
'on'
(既定値) |on/off logical 値
矢じりの表示。'on'
または'off'
もしくは数値または logical1
(true
) または0
(false
) として指定します。'on'
の値はtrue
と等価であり、'off'
はfalse
と等価です。したがって、このプロパティの値を logical 値として使用できます。値はmatlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— ベクトルを矢じり付きで表示します。'off'
— ベクトルを矢じりなしで表示します。
AutoScale
—矢印の長さの自動スケーリング
'on'
(既定値) |on/off logical 値
矢印の長さの自動スケーリング。'on'
または'off'
もしくは数値または logical1
(true
) または0
(false
) として指定します。'on'
の値はtrue
と等価であり、'off'
はfalse
と等価です。したがって、このプロパティの値を logical 値として使用できます。値はmatlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
'on'
— グリッドで定義された座標データ内に収まるように矢印の長さをスケーリングし、矢印が重なり合わないようにします。関数quiver
またはquiver3
は、その後にその矢印の長さに対してAutoScaleFactor
を適用します。'off'
— 矢印の長さをスケーリングしません。
AutoScaleFactor
—スケール係数
0.9
(既定値) |スカラー
スケール係数。スカラーとして指定します。値が2
の場合は矢印の長さが 2 倍になり、値が0.5
の場合は矢印の長さが半分になります。
このプロパティはAutoScale
が'on'
に設定されている場合のみ有効です。
例:2
ヒント
極座標を使用して矢印プロットを作成するには、先に、関数pol2cart
を使用して直交座標に変換します。
拡張機能
GPU 配列
Parallel Computing Toolbox™ を使用してグラフィックス処理装置 (GPU) 上で実行することにより、コードを高速化します。
使用上の注意事項および制限事項:
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行(Parallel Computing Toolbox)を参照してください。
分散配列
并行计算工具箱™を使用して,クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB®で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行(Parallel Computing Toolbox)を参照してください。
バージョン履歴
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select:.
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina(Español)
- Canada(English)
- United States(English)
Europe
- Belgium(English)
- Denmark(English)
- Deutschland(Deutsch)
- España(Español)
- Finland(English)
- France(Français)
- Ireland(English)
- Italia(Italiano)
- Luxembourg(English)
- Netherlands(English)
- Norway(English)
- Österreich(Deutsch)
- Portugal(English)
- Sweden(English)
- Switzerland
- United Kingdom(English)