Main Content

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

semilogy

片対数プロット (y 軸が対数スケールをもつ)

  • Semilogy plot

説明

semilogy(X,Y) は、x 軸の線形スケールと y 軸の常用対数スケールを使用して、x 座標と y 座標をプロットします。

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

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

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

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

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

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

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

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

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

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

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

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

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

すべて折りたたむ

1 つの x 座標軸のベクトルと 1 つの y 座標軸のベクトルを作成します。xy の対数-線形プロットを作成し、関数 grid を呼び出してグリッド線を表示します。

x = 1:100;
y = x.^2;
semilogy(x,y)
grid on

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

x = 1:100;
y1 = x.^2;
y2 = x.^3;
semilogy(x,y1,x,y2)
grid on

ベクトル x を 20 年ローンの分割払いとして定義します。ベクトル y を金利 8% での 1000 ドルのローンの累積コストとして定義します。各分割払いの累積コストをプロットします。

P = 1000; 
npayments = 240;  
rate = 0.08/12; 
mpayment = P*(rate*(1+rate)^npayments)/(((1+rate)^npayments) - 1);
x = 1:240;
y = x * mpayment;
semilogy(x,y);
grid on

関数 yticks と関数 yticklabels を呼び出し、y 軸の目盛り値と目盛りラベルを変更します。次に、関数 xlabel および関数 ylabel を呼び出して x 軸および y 軸のラベルを作成します。

yticks([10 50 100 500 1000])
yticklabels({'$10','$50','$100','$500','$1000'})
xlabel ('Installment')
ylabel('Cumulate Cost')

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

x = linspace(1,1000,15);
y = (1./x) * 10000;
semilogy(x,y,'o','MarkerFaceColor',[0 0.447 0.741])
grid on

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

x = 1:100;
y1 = x.^2;
y2 = x.^3;
semilogy(x,y1,'--',x,y2)
legend('x^2','x^3','Location','northwest')

1 つの座標軸ベクトルを指定すると、semilogy はそれらの座標軸を 1:length(y) の値に対してプロットします。たとえば、y を 5 つの値のベクトルとして定義します。y の対数-線形プロットを作成します。

y = [0.1 0.2 1 10 1000];
semilogy(y)
grid on

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

y = [ 0.1    1     10
      0.2    2     20
      1.0    10    100
      10     100   1000
      1000   10000 100000];

semilogy(y)
grid on

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

tiledlayout('flow')
ax1 = nexttile;
x = 1:100;
y1 = x.^2;
semilogy(ax1,x,y1)

このプロセスを繰り返して 2 番目の対数-線形プロットを作成します。

ax2 = nexttile;
y2 = 1./x;
semilogy(ax2,x,y2)

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

x = 1:100;
y1 = x.^2;
y2 = x.^3;
slg = semilogy(x,y1,x,y2);

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

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

データの不連続な位置に NaN 値を挿入します。関数 semilogy は、それらの位置のギャップを表示します。

x 座標ベクトルと y 座標ベクトルのペアを作成します。20 番目の y 座標を NaN 値に置き換えます。次に、xy の対数-線形プロットを作成します。

x = 1:50;
y = x.^2;
y(20) = NaN;
semilogy(x,y)

入力引数

すべて折りたたむ

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

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

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

semilogy(1,2,'o')

1 つの点集合

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

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

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

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

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

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

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

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

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

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

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

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

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

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

semilogy(1,2,'o')

1 つの点集合

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

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

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

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

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

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

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

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

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

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

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

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

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

  • ゼロの対数スケール値は表示されません。

データ型: 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 オブジェクトとして指定します。座標軸を指定せず、現在の座標軸が直交座標軸の場合、semilogy は現在の座標軸を使用します。

名前と値のペアの引数

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

例: semilogy([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'

ヒント

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

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

アルゴリズム

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

拡張機能

R2006a より前に導入