Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

loglog

両対数スケール プロット

説明

loglog(X,Y) は、x 軸および y 軸に 10 を底とする対数スケールを使用して x 座標軸および y 座標軸をプロットします。

  • 線分によって接続された座標セットをプロットするには、X および Y を同じ長さのベクトルとして指定します。

  • 同じ座標軸セットに複数の座標セットをプロットするには、X または Y のうちの少なくとも 1 つを行列として指定します。

loglog(X,Y,LineSpec) は、指定されたライン スタイル、マーカー、および色を使用してプロットを作成します。

loglog(X1,Y1,...,Xn,Yn)は複数のペアの x 座標軸および y 座標軸を、同じ軸のセットにプロットします。座標軸を行列として指定する代わりに、この構文を使用します。

loglog(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) は、特定のライン スタイル、マーカー、および色を各 x-y のペアに割り当てます。LineSpec を一部の x-y のペアに対して指定し、その他に対しては省略することができます。たとえば、loglog(X1,Y1,'o',X2,Y2) は、最初の x-y のペアに対してマーカーを指定しますが、2 番目のペアに対しては指定しません。

loglog(Y) は、Y を暗黙的な x 座標のセットに対してプロットします。

  • Y がベクトルの場合、x 座標は 1 から length(Y) までの範囲となります。

  • Y が行列の場合、プロットには Y の各列に対して 1 本のラインが含まれます。x 座標の範囲は、1 から Y の行数までです。

Y に複素数が含まれている場合、loglogY の実数部に対して Y の虚数部をプロットします。ただし、XY の両方を指定すると、MATLAB® は虚数部を無視します。

loglog(Y,LineSpec) はライン スタイル、マーカー、色を指定します。

loglog(___,Name,Value) は、1 つ以上の Name,Value のペアの引数を使用して、Line のプロパティを指定します。このプロパティはプロットされるすべてのラインに適用されます。前述の任意の構文で、すべての引数の後に Name,Value ペアを指定します。プロパティの一覧については、Line のプロパティ を参照してください。

loglog(ax,___) は、ターゲット座標軸にプロットを表示します。前述の任意の構文で、最初の引数として座標軸を指定します。

lineobj = loglog(___)Line オブジェクトまたは Line オブジェクトの配列を返します。プロットのプロパティを作成後に変更するには、lineobj を使用します。プロパティの一覧については、Line のプロパティ を参照してください。

すべて折りたたむ

x を 50 の対数的に等間隔な数値のベクトルとして、区間 [10-1,102] に定義します。y2x として定義します。次に xy をプロットし、関数 grid を呼び出してグリッド線を表示します。

x = logspace(-1,2);
y = 2.^x;
loglog(x,y)
grid on

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

1 つの x 座標軸のベクトルと 2 つの y 座標軸のベクトルを作成します。コンマ区切りの x-y ペアを loglog に渡して、2 本のラインをプロットします。

x = logspace(-1,2);
y1 = 10.^x;
y2 = 1./10.^x;
loglog(x,y1,x,y2)
grid on

Figure contains an axes. The axes contains 2 objects of type line.

または、y を行列 loglog(x,[y1;y2]) として指定して、1 つの x-y ペアで同じプロットを作成することができます。

x 座標軸と y 座標軸のセットを作成し、両対数プロットに表示します。

x = logspace(-1,2,10000);
y = 5 + 3*sin(x);
loglog(x,y)

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

関数 yticks を呼び出して、y 軸の目盛り値を y 軸に沿って 0 または正の整数の増分で配置します。次に、関数 xlabel および関数 ylabel を呼び出して x 軸および y 軸のラベルを作成します。

yticks([3 4 5 6 7])
xlabel('x')
ylabel('5 + 3 sin(x)')

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

x 座標軸と y 座標軸のセットを作成し、両対数プロットに表示します。ラインのスタイルを 's' として指定して、ラインを接続せずに四角形のマーカーを表示します。マーカーの塗りつぶし色を RGB 3 成分 [0 0.447 0.741] として指定します。これは濃い青色に対応します。

x = logspace(-1,2,20);
y = 10.^x;
loglog(x,y,'s','MarkerFaceColor',[0 0.447 0.741])
grid on

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

2 セットの x 座標軸と y 座標軸を作成し、両対数プロットに表示します。関数 legend を呼び出し、場所を 'northwest' として指定して、プロットの左上隅に凡例を表示します。

x = logspace(-1,2,10000);
y1 = 5 + 3*sin(x/4);
y2 = 5 - 3*sin(x/4);
loglog(x,y1,x,y2,'--')
legend('Signal 1','Signal 2','Location','northwest')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Signal 1, Signal 2.

1 つの座標軸ベクトルを指定すると、loglog はそれらの座標軸を 1:length(y) の値に対してプロットします。たとえば、y0.001 から 100 までの 6 つの値のベクトルとして定義します。y の両対数プロットを作成します。

y = [0.001 0.01 0.1 1 10 100];
loglog(y)
grid on

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

y を行列として指定する場合、y の列は値 1:size(y,1) に対してプロットされます。たとえば y を 5 行 3 列の行列として定義し、関数 loglog に渡すとします。結果のプロットには 3 本のラインが含まれ、そのそれぞれが 1 から 5 の範囲の x 座標軸をもちます。

y = [0.0010    0.0100    0.1000
     0.0100    0.1000    1.0000
     0.1000    1.0000   10.0000
     1.0000   10.5000  100.0000
    10.0000  100.0000 1000.0000];

loglog(y)
grid on

Figure contains an axes. The axes contains 3 objects of type line.

タイル表示チャート レイアウトを 'flow' タイル配置に作成して、座標軸がそのレイアウトの使用可能なスペースを塗りつぶすようにします。次に、関数 nexttile を呼び出して axes オブジェクトを作成し、それを ax1 として返します。その後、関数 loglogax1 を渡して両対数プロットを表示します。

tiledlayout('flow')
ax1 = nexttile;
x = logspace(-1,2);
y1 = 10.^x;
loglog(ax1,x,y1)

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

このプロセスを繰り返して 2 番目の axes オブジェクトと 2 番目の両対数プロットを作成します。

ax2 = nexttile;
y2 = 1./10.^x;
loglog(ax2,x,y2)

Figure contains 2 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line.

2 つのラインを含む両対数プロットを作成し、変数 lg 内のライン オブジェクトを返します。

x = logspace(-1,2);
y1 = 10.^x;
y2 = 1./10.^x;
lg = loglog(x,y1,x,y2);

Figure contains an axes. The axes contains 2 objects of type line.

1 つ目のラインの幅を 2 に変更し、2 つ目のラインの色を紫に変更します。

lg(1).LineWidth = 2;
lg(2).Color = [0.4 0 1];

Figure contains an axes. The axes contains 2 objects of type line.

入力引数

すべて折りたたむ

x 座標。スカラー、ベクトルまたは行列として指定します。X のサイズと形状は、データの形状と作成するプロットのタイプによって異なります。次の表では、最も一般的な状況について説明します。

プロットのタイプ座標の指定方法
1 つの点

X および Y をスカラーとして指定して、マーカーを含めます。以下に例を示します。

loglog(1,2,'o')

1 つの点集合

X および Y を同じ長さの行ベクトルまたは列ベクトルの任意の組み合わせとして指定します。以下に例を示します。

loglog([1 2 3],[4; 5; 6])

複数の点集合
(ベクトルを使用)

連続するベクトル X とベクトル Y のペアを指定します。以下に例を示します。

loglog([1 2 3],[4 5 6],[1 2 3],[7 8 9])

複数の点集合
(行列を使用)

すべてのセットが同じ x 座標または y 座標を共有している場合は、共有している座標をベクトルとして、その他の座標を行列として指定します。ベクトルの長さは行列の次元の 1 つと一致していなければなりません。以下に例を示します。

loglog([1 2 3],[4 5 6; 7 8 9])
行列が正方の場合、loglog は行列の各列について 1 つのラインをプロットします。

または、XY をサイズが等しい行列として指定します。この場合、loglogY の各列を、対応する X の列に対してプロットします。以下に例を示します。

loglog([1 2 3; 4 5 6],[7 8 9; 10 11 12])

loglog は、場合によっては座標を除外することがあります。

  • 座標に正の値と負の値が含まれている場合、正の値のみが表示されます。

  • 座標がすべて負の場合、すべての値が対数スケールで、適切な符号付きで表示されます。

  • ゼロ値は表示されません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

y 座標。スカラー、ベクトルまたは行列として指定します。Y のサイズと形状は、データの形状と作成するプロットのタイプによって異なります。次の表では、最も一般的な状況について説明します。

プロットのタイプ座標の指定方法
1 つの点

X および Y をスカラーとして指定して、マーカーを含めます。以下に例を示します。

loglog(1,2,'o')

1 つの点集合

X および Y を同じ長さの行ベクトルまたは列ベクトルの任意の組み合わせとして指定します。以下に例を示します。

loglog([1 2 3],[4; 5; 6])

複数の点集合
(ベクトルを使用)

連続するベクトル X とベクトル Y のペアを指定します。以下に例を示します。

loglog([1 2 3],[4 5 6],[1 2 3],[7 8 9])

複数の点集合
(行列を使用)

すべてのセットが同じ x 座標または y 座標を共有している場合は、共有している座標をベクトルとして、その他の座標を行列として指定します。ベクトルの長さは行列の次元の 1 つと一致していなければなりません。以下に例を示します。

loglog([1 2 3],[4 5 6; 7 8 9])
行列が正方の場合、loglog は行列の各列について 1 つのラインをプロットします。

または、XY をサイズが等しい行列として指定します。この場合、loglogY の各列を、対応する X の列に対してプロットします。以下に例を示します。

loglog([1 2 3; 4 5 6],[7 8 9; 10 11 12])

loglog は、場合によっては座標を除外することがあります。

  • 座標に正の値と負の値が含まれている場合、正の値のみが表示されます。

  • 座標がすべて負の場合、すべての値が対数スケールで、適切な符号付きで表示されます。

  • ゼロ値は表示されません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

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

ライン スタイル説明
-実線
--破線
:点線
-.一点鎖線
マーカー説明
'o'
'+'プラス記号
'*'アスタリスク
'.'
'x'十字
'_'水平線
'|'垂直線
's'正方形
'd'菱形
'^'上向き三角形
'v'下向き三角形
'>'右向き三角形
'<'左向き三角形
'p'星形五角形
'h'星形六角形
説明

y

m

マゼンタ

c

シアン

r

g

b

w

k

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定せず、現在の座標軸が直交座標軸の場合、loglog は現在の座標軸を使用します。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: loglog([1 2],[3 4],'Color','red') はプロットに赤のラインを指定します。

メモ

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

色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。指定した色がラインの色に設定されます。MarkerEdgeColor プロパティが 'auto' に設定されている場合は、マーカー エッジの色も設定されます。

カスタム色を使用する場合は、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'

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

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

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

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

マーカーの輪郭の色。'auto'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定値の 'auto' は、Color プロパティと同じ色を使用します。

カスタム色を使用する場合は、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'

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

マーカーの塗りつぶし色。'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'

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

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

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

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

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

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

ヒント

  • ラインの途中で間を空けるには NaN または Inf を使用します。たとえば、このコードは y=2y=4 の途中で間を空けてラインをプロットします。

     loglog([1 2 3 4 5],[1 2 NaN 4 5])

  • 関数 loglog は座標軸の ColorOrder プロパティと LineStyleOrder プロパティに基づく色とライン スタイルを使用します。loglog は最初のライン スタイルで色を順番に使用します。次に、以降のライン スタイルのそれぞれについて再び色を順番に使用します。

    座標軸の ColorOrder プロパティや LineStyleOrder プロパティを設定することによって、プロット後に色やライン スタイルを変更できます。また、関数 colororder を呼び出して、Figure 内のすべての座標軸の色の順序を変更することもできます。

アルゴリズム

関数 loglog は、座標軸の XScale プロパティおよび YScale プロパティを 'log' に設定して、座標を対数スケールでプロットします。ただし、座標軸 hold の状態が loglog を呼び出す前に 'on' である場合、それらのプロパティは変更されず、プロットは線形スケールまたは片対数スケールで表示される可能性があります。

拡張機能

参考

関数

プロパティ

R2006a より前に導入