Main Content

compass

原点から発生する矢印

  • Circular grid with arrows emanating from the origin

説明

compass(U,V) は点 (0, 0) から発生する矢印をプロットします。直交座標 UV を使用して矢印の方向を指定します。Ux 座標を示し、Vy 座標を示します。矢印の数は U の要素数と一致します。

関数 compassAxes オブジェクト内の theta 軸と r 軸の目盛りラベルを使用して、円形グリッド上に矢印をプロットします。したがって、指定する座標はプロットに表示されるラベルと一致しません。

compass(Z)Z で指定された複素数値の実数部と虚数部を使用して矢印をプロットします。実数部は x 座標を示し、虚数部は y 座標を示します。この構文は compass(real(Z),imag(Z)) と等価です。

compass(___,LineSpec) は、矢印のライン スタイル、マーカー記号および色を設定します。

compass(ax,___) は、現在の座標軸ではなく、指定された座標軸に矢印をプロットします。

c = compass(___) は、Line オブジェクトのベクトルを返します。この構文は矢印の外観を制御する場合に便利です。

すべて折りたたむ

各矢印の直交座標を指定して、コンパス プロットを作成します。

u = [5 3 -4 -3 5];
v = [1 5 3 -2 -6];
compass(u,v)

極座標を使用して最初に直交座標に変換することにより、コンパス プロットを作成します。

これを行うには、極座標を使用してデータを指定します。関数 pol2cart を使用して直交座標に変換します。次に、プロットを作成します。

th = linspace(pi/4,2*pi,10);
r = linspace(5,20,10);
[u,v] = pol2cart(th,r);
compass(u,v)

theta 軸と r 軸の目盛りラベルは極座標に対応することに注意してください。

正弦波を等間隔にサンプリングします。次に、正弦波の 10 ポイントの離散フーリエ変換を計算します。結果は、複素数値のベクトルになります。

t = linspace(0,8*pi,100);
y = sin(2*t) + 2*sin(t+pi/2);
f = fft(y,10);

コンパス プロットを使用して複素数値を表示します。実数部は各矢印の x 座標を決定し、虚数部は y 座標を決定します。

compass(f)

赤色の矢印でコンパス プロットを作成します。

u = [5 3 -4 -3 5];
v = [1 5 3 -2 -6];
compass(u,v,'r')

矢印を変数に割り当ててからそのプロパティを設定することにより、単一の矢印のライン幅と色を指定します。これを行うには、最初にコンパス プロットを作成して、Line オブジェクトの配列を返します。

u = [3 5 -4 -3 5];
v = [5 1 3 -2 -6];
c = compass(u,v);

最初の矢印を変数に割り当てます。最初の矢印は uv の最初の要素に対応します。次に、ライン幅と色を変更します。

c1 = c(1);
c1.LineWidth = 2;
c1.Color = 'r';

関数 view を使用して、0 度が上を向くようにコンパス プロットを回転します。

これを行うには、極座標を使用してコンパス プロットを作成します。関数 pol2cart を使用して極座標を直交座標に変換してから、変換された座標をプロットします。

th = linspace(0,3*pi/2,10);
r = linspace(5,20,10);
[u,v] = pol2cart(th,r);
compass(u,v)

0 度が右を向いていることに注目してください。view を呼び出し、最初の引数を -90 として指定することにより、theta 軸を反時計方向に 90 度回転します。2 番目の引数を 90 として指定することにより、2 次元表示を維持します。

view(-90,90)

0 度が上を向いたことに注目してください。

R2019b 以降、関数 tiledlayout および nexttile を使用して、プロットをタイル表示できます。関数 tiledlayout を呼び出して、1 行 2 列のタイル表示チャート レイアウトを作成します。関数 nexttile を呼び出して axes オブジェクトを作成し、オブジェクトを ax1 として返します。ax1 を関数 compass に渡し、左のプロットを作成します。座標軸を関数 title に渡し、プロットにタイトルを追加します。このプロセスを繰り返して右のプロットを作成します。

u = [7 5 -2 -5 8];
tiledlayout(1,2)

% Left plot
ax1 = nexttile;
v1 = [3 7 5 -4 -6];
compass(ax1,u,v1)
title(ax1,'Left Plot')

% Right plot
ax2 = nexttile;
v2 = [-3 -4 -5 6 6];
compass(ax2,u,v2)
title(ax2,'Right Plot')

入力引数

すべて折りたたむ

x 座標。スカラー、ベクトルまたは行列として指定します。直交座標の値を指定します。極座標から直交座標にデータを変換するには、pol2cart を使用します。

U のサイズは V のサイズと同じでなければなりません。

y 座標。スカラー、ベクトルまたは行列として指定します。直交座標の値を指定します。極座標から直交座標にデータを変換するには、pol2cart を使用します。

V のサイズは U のサイズと同じでなければなりません。

複素数値。スカラー、ベクトルまたは行列として指定します。Z の実数部は矢印の x 座標を示し、虚数部は y 座標を示します。

ライン スタイル、マーカーおよび色。記号を含む文字ベクトルまたは string として指定します。記号の順番は任意です。3 つの特性 (ライン スタイル、マーカーおよび色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定する場合、プロットはラインなしでマーカーのみを表示します。

例: '--or' は丸いマーカーをもった赤い破線

ライン スタイル説明結果として得られる線
'-'実線

Sample of solid line

'--'破線

Sample of dashed line

':'点線

Sample of dotted line

'-.'一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

マーカー説明結果のマーカー
'o'

Sample of circle marker

'+'プラス記号

Sample of plus sign marker

'*'アスタリスク

Sample of asterisk marker

'.'

Sample of point marker

'x'十字

Sample of cross marker

'_'水平線

Sample of horizontal line marker

'|'垂直線

Sample of vertical line marker

's'正方形

Sample of square marker

'd'菱形

Sample of diamond line marker

'^'上向き三角形

Sample of upward-pointing triangle marker

'v'下向き三角形

Sample of downward-pointing triangle marker

'>'右向き三角形

Sample of right-pointing triangle marker

'<'左向き三角形

Sample of left-pointing triangle marker

'p'星形五角形

Sample of pentagram marker

'h'星形六角形

Sample of hexagram marker

色名省略名RGB 3 成分外観
'red''r'[1 0 0]

Sample of the color red

'green''g'[0 1 0]

Sample of the color green

'blue''b'[0 0 1]

Sample of the color blue

'cyan' 'c'[0 1 1]

Sample of the color cyan

'magenta''m'[1 0 1]

Sample of the color magenta

'yellow''y'[1 1 0]

Sample of the color yellow

'black''k'[0 0 0]

Sample of the color black

'white''w'[1 1 1]

Sample of the color white

ターゲット座標軸。Axes オブジェクトとして指定します。

拡張機能

バージョン履歴

R2006a より前に導入