メインコンテンツ

polarplot

極座標にラインをプロット

  • Plot line in polar coordinates

説明

ベクトルと行列のデータ

polarplot(theta,rho) は極座標にラインをプロットします。theta は角度をラジアン単位で示し、rho は各点の半径値を示します。入力は、同じ長さのベクトルまたは同じサイズの行列でなければなりません。入力が行列である場合、polarplotrho の列を theta の列に対してプロットします。また、ベクトルの長さが行列の 1 つの次元と同じ長さである場合、入力の一方がベクトルでもう一方が行列であってもかまいません。

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

polarplot(theta1,rho1,...,thetaN,rhoN) は複数の rho,theta ペアをプロットします。

polarplot(theta1,rho1,LineSpec1,...,thetaN,rhoN,LineSpecN) は、各ラインのライン スタイル、マーカー記号および色を指定します。

polarplot(rho) は 0 ~ 2π に等間隔の角度で rho の半径値をプロットします。

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

polarplot(Z)Z に複素数値をプロットします。

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

テーブル データ

polarplot(tbl,thetavar,rhovar) は、table tbl の変数 thetavar および rhovar をプロットします。1 つのデータ セットをプロットするには、thetavarrhovar にそれぞれ 1 つの変数を指定します。複数のデータ セットをプロットするには、thetavarrhovar、またはその両方に複数の変数を指定します。両方の引数で複数の変数を指定する場合は、同数の変数を指定しなければなりません。(R2022a 以降)

polarplot(tbl,rhovar) は、0 ~ 2π の等間隔の角度で rhovar の半径値をプロットします。この構文では timetable はサポートされていません。(R2022a 以降)

追加オプション

polarplot(pax,___) は、現在の座標軸の代わりに pax で指定される PolarAxes オブジェクトを使用します。

polarplot(___,Name,Value) は 1 つ以上の Name,Value ペア引数を使用してチャート ラインのプロパティを指定します。このプロパティの設定はすべてのラインに適用されます。Name,Value ペアを使用して、異なるラインに異なるプロパティ値を指定することはできません。

p = polarplot(___) は 1 つ以上の chart line オブジェクトを返します。作成後に特定の chart line オブジェクトのプロパティを変更するには p を使用します。プロパティの一覧については、Line のプロパティ を参照してください。

すべて折りたたむ

ラインを極座標にプロットします。

theta = 0:0.01:2*pi;
rho = sin(2*theta).*cos(2*theta);
polarplot(theta,rho)

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

R2022a より前は、既定では極座標軸に度記号が含まれていません。追加するには、pax = gca を使用して極座標軸を取得します。その後、pax.ThetaTickLabel = string(pax.ThetaTickLabel) + char(176) を使用して目盛りラベルを変更します。

プロットするデータを作成します。

theta = linspace(0,360,50);
rho = 0.005*theta/10;

theta の値を度数値からラジアン値に変換します。次に、データを極座標にプロットします。

theta_radians = deg2rad(theta);
polarplot(theta_radians,rho)

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

極座標に 2 本のラインをプロットします。2 番目のラインには破線を使用します。

theta = linspace(0,6*pi);
rho1 = theta/10;
polarplot(theta,rho1)

rho2 = theta/12;
hold on
polarplot(theta,rho2,'--')
hold off

Figure contains an axes object with type polaraxes. The polaraxes object contains 2 objects of type line.

角度値を指定せずに、半径値のみを指定します。polarplot は、0 ~ 2π の等間隔に配置された角度で半径値をプロットします。各データ点に円マーカーを表示します。

rho = 10:5:70;
polarplot(rho,'-o')

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

負の半径値を使用して、極座標プロットを作成します。polarplot は既定で負の値を、原点を中心とする点対称の位置に表します。

theta = linspace(0,2*pi);
rho = sin(theta);
polarplot(theta,rho)

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

範囲が -1 から 1 までになるように r 軸の範囲を変更します。

rlim([-1 1])

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

赤のラインと円形マーカーを使用して、極座標プロットを作成します。

theta = linspace(0,2*pi,25);
rho = 2*theta;
polarplot(theta,rho,'r-o')

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

極座標プロットを作成して、chart line オブジェクトを返します。

theta = linspace(0,2*pi,25);
rho = 2*theta;
p = polarplot(theta,rho);

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

ラインの色と幅を変更し、マーカーを追加します。

p.Color = 'magenta';
p.Marker = 'square';
p.MarkerSize = 8;

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

極座標に複素数値をプロットします。点を連結するラインではなく、点ごとにマーカーを表示します。

Z = [2+3i 2 -1+4i 3-4i 5+2i -4-2i -2+3i -2 -3i 3i-2i];
polarplot(Z,'*')

Figure contains an axes object with type polaraxes. The polaraxes contains a line object which displays its values using only markers.

table のデータをプロットするには、table を関数 polarplot に渡してプロット対象の変数を指定すると便利です。

2 つの変数をもつ table を作成します。次に、table の最初の 3 行を表示します。

Angle = linspace(0,3*pi,50)';
Radius = (1:50)';
tbl = table(Angle,Radius);
head(tbl,3)
     Angle     Radius
    _______    ______

          0      1   
    0.19234      2   
    0.38468      3   

変数 Angle および Radius をプロットします。Line オブジェクトを p として返します。

p = polarplot(tbl,"Angle","Radius");

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

ラインの要素を変更するには、Line オブジェクトの LineStyle プロパティ、Color プロパティ、Marker プロパティを設定します。たとえばラインを、円形マーカーを使った赤い点線に変更します。

p.LineStyle = ":";
p.Color = "red";
p.Marker = "o";

Figure contains an axes object with type polaraxes. The polaraxes object contains an object of type line.

3 つの変数をもつ table を作成します。次に、table の最初の 3 行を表示します。

Angle = linspace(0,3*pi,50)';
Radius1 = (1:50)';
Radius2 = Radius1/2;
tbl = table(Angle,Radius1,Radius2);
head(tbl,3)
     Angle     Radius1    Radius2
    _______    _______    _______

          0       1         0.5  
    0.19234       2           1  
    0.38468       3         1.5  

変数 Angle に対して変数 Radius1 および Radius2 をプロットします。凡例を追加します。凡例ラベルは変数名と一致することに注意してください。

polarplot(tbl,"Angle",["Radius1" "Radius2"])
legend

Figure contains an axes object with type polaraxes. The polaraxes object contains 2 objects of type line.

入力引数

すべて折りたたむ

角度の値。ベクトルまたは行列として指定します。値をラジアン単位で指定します。データを度数値からラジアン値に変換するには deg2rad を使用します。

theta 軸の範囲を変更するには thetalim を使用します。

例: [0 pi/2 pi 3*pi/2 2*pi]

半径の値。ベクトルまたは行列として指定します。既定では、負の値は 0 を中心とする点対称の位置に表されます。負の値の点は、半径の絶対値をとり、その角度に 180 度を加えた位置に表されます。

r 軸の範囲を変更するには rlim を使用します。

例: [1 2 3 4 5]

複素数値。各要素が rho*ei*theta または x+iy の形式であるベクトルまたは行列として指定します。ここで以下が成り立ちます。

  • rho = sqrt(x^2+y^2)

  • theta = atan(y/x)

例: [1+2i 3+4i 3i]

ライン スタイル、マーカー、および色。記号を含む 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

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond 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

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

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

プロットするデータが含まれるソース table。table または timetable として指定します。

theta 値を含む table 変数。table のインデックス方式の 1 つを使用して指定します。

インデックス方式

変数名:

  • string、文字ベクトル、または cell 配列。

  • pattern オブジェクト。

  • "A" または 'A'A という名前の変数

  • ["A","B"] または {'A','B'}A および B という名前の 2 つの変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号。

  • 数値のベクトル。

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [2 3] — table の 2 番目と 3 番目の変数

  • [false false true] — 3 番目の変数

変数の型:

  • 指定した型の変数を選択する vartype 添字。

  • vartype("categorical") — categorical 値を含んでいるすべての変数

指定する table 変数には、任意の実数値データ型を含めることができます。thetavarrhovar の両方が複数の変数を指定する場合、変数の数は同じでなければなりません。

例: polarplot(tbl,["th1","th2"],"rho") は、theta 座標用に th1 および th2 という名前の table 変数を指定します。

例: polarplot(tbl,2,"rho") は、theta 座標用に 2 番目の変数を指定します。

例: polarplot(tbl,vartype("numeric"),"rho") は、theta 座標用にすべての数値変数を指定します。

rho 値を含む table 変数。table のインデックス方式の 1 つを使用して指定します。

インデックス方式

変数名:

  • string、文字ベクトル、または cell 配列。

  • pattern オブジェクト。

  • "A" または 'A'A という名前の変数

  • ["A","B"] または {'A','B'}A および B という名前の 2 つの変数

  • "Var"+digitsPattern(1)"Var" の後に数字 1 桁が続く名前の変数

変数インデックス:

  • table 内の変数の位置を参照するインデックス番号。

  • 数値のベクトル。

  • logical ベクトル。通常、このベクトルの長さは変数の数と同じですが、末尾の 0 値や false 値は省略できます。

  • 3 — table の 3 番目の変数

  • [2 3] — table の 2 番目と 3 番目の変数

  • [false false true] — 3 番目の変数

変数の型:

  • 指定した型の変数を選択する vartype 添字。

  • vartype("categorical") — categorical 値を含んでいるすべての変数

指定する table 変数には、任意の実数値データ型を含めることができます。thetavarrhovar の両方が複数の変数を指定する場合、変数の数は同じでなければなりません。

例: polarplot(tbl,"theta",["rho1","rho2"]) は、半径の値用に rho1 および rho2 という名前の table 変数を指定します。

例: polarplot(tbl,"theta",2) は、半径の値用に 2 番目の変数を指定します。

例: polarplot(tbl,"theta",vartype("numeric")) は、半径の値用にすべての数値変数を指定します。

PolarAxes オブジェクト。プロパティを設定することで PolarAxes オブジェクトの外観と動作を変更できます。プロパティの一覧については、PolarAxes のプロパティ を参照してください。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'LineWidth',3

Name,Value ペアの設定はプロットされるすべてのラインに適用されます。この構文を使用して、各ラインに異なる Name,Value ペアを指定することはできません。代わりに、chart line オブジェクトを返し、ドット表記を使用して各ラインのプロパティを設定します。

ここには一部のプロパティのみを示します。完全な一覧については、Line のプロパティ を参照してください。

ラインの色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。

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

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

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

"none"ラインなしラインなし

ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。

ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。

マーカー記号。次の表に挙げる値のいずれかとして指定します。既定では、オブジェクトはマーカーを表示しません。マーカー記号を指定すると、各データ点または各頂点にマーカーが追加されます。

マーカー説明結果のマーカー
"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

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond 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

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

Sample of hexagram marker

"none"マーカーなし該当なし

マーカー サイズ。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

マーカーの塗りつぶし色。"auto"、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。"auto" オプションは親座標軸の Color プロパティと同じ色を使用します。"auto" を指定し、座標軸のプロット ボックスが非表示の場合、マーカーの塗りつぶし色は Figure の色です。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く string スカラーまたは文字ベクトルです。この値は大文字と小文字を区別しません。したがって、カラー コード "#FF8800""#ff8800""#F80"、および "#f80" は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"該当なし該当なし該当なし色なし

次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。

パレットパレットの色

"gem" — ライト テーマの既定値

R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。

Sample of the "gem" color palette

"glow" — ダーク テーマの既定値

Sample of the "glow" color palette

orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。

RGB = orderedcolors("gem");
H = rgb2hex(RGB);

R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。

R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。

ヒント

  • データを度数値からラジアン値に変換するには deg2rad を使用します。データをラジアン値から度数値に変換するには rad2deg を使用します。

  • 極座標軸のプロパティを変更してグラフをカスタマイズできます。プロパティの一覧については、PolarAxes のプロパティ を参照してください。

  • 極座標軸に追加のデータをプロットするには、hold on コマンドを使用します。ただし、直交座標軸を必要とするデータを極座標グラフにプロットすることはできません。

バージョン履歴

R2016a で導入

すべて展開する