Main Content

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

semilogx

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

  • Semilogx plot

説明

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

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

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

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

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

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

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

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

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

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

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

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

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

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

すべて折りたたむ

x0.1 から 100 の対数的に等間隔な値のベクトルとして定義し、yx のコピーとして定義します。xy の線形-対数プロットを作成し、関数 grid を呼び出してグリッド線を表示します。

x = logspace(-1,2);
y = x;
semilogx(x,y)
grid on

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

x = logspace(-1,2);
y1 = x;
y2 = -x;
semilogx(x,y1,x,y2)
grid on

f を 10 Hz から 100,000 Hz の周波数を含むベクトルとして定義します。gain をデシベル単位の電力ゲイン値のベクトルとして定義します。次に、周波数に対してゲイン値をプロットします。

f = logspace(1,5,100);
v = linspace(-50,50,100);
gain = (1-exp(5*(2.5*v.^2)./7500))/14;
semilogx(f,gain)
grid on

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

yticks([-5 -4 -3 -2 -1 0])
xlabel ('Freqency (Hz)')
ylabel('Power Gain (dB)')

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

x = logspace(-1,2,15);
y = 12 + x;
semilogx(x,y,'o','MarkerFaceColor',[0 0.447 0.741])
grid on

1 つの対数的に等間隔な x 座標軸のベクトルと 2 つの y 座標軸のベクトルを作成します。次に、コンマ区切りの x-y ペアを semilogx に渡して、2 本のラインをプロットします。関数 legend を呼び出して凡例を表示します。

x = logspace(1,4,100);
v = linspace(-50,50,100);
y1 = 100*exp(-1*((v+5).^2)./200);
y2 = 100*exp(-1*(v.^2)./200);
semilogx(x,y1,x,y2,'--')
legend('Measured','Estimated')
grid on

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

y = [0 10 20 30 40];
semilogx(y)
grid on

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

y = [ 0    10    20
     10    20    30
     20    30    40
     30    40    50
     40    50    60];

semilogx(y)
grid on

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

tiledlayout('flow')
ax1 = nexttile;
x = logspace(-1,2);
y1 = 1./x;
semilogx(ax1,x,y1)

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

ax2 = nexttile;
y2 = x;
semilogx(ax2,x,y2)

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

x = logspace(-1,2);
y1 = x;
y2 = -x;
slg = semilogx(x,y1,x,y2);

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

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

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

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

x = logspace(-1,2);
y = x;
y(40) = NaN;
semilogx(x,y)

入力引数

すべて折りたたむ

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

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

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

semilogx(1,2,'o')

1 つの点集合

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

semilogx(1,2,'o')

1 つの点集合

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

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

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

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

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

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

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

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

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

semilogx([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

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

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

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

y

m

マゼンタ

c

シアン

r

g

b

w

k

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

名前と値のペアの引数

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

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

ヒント

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

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

アルゴリズム

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

拡張機能

R2006a より前に導入