Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

2 つの y 軸があるチャートのプロパティの変更

関数 yyaxis は、左側と右側に y 軸がある Axes オブジェクトを作成します。y 軸に関連する座標軸プロパティは 2 つの値をもちます。ただし、MATLAB® はアクティブな側の値にのみアクセスします。たとえば、左側がアクティブな場合、Axes オブジェクトの YDir プロパティには、左の y 軸の方向が含まれます。同様に、右側がアクティブな場合、YDir プロパティには、右の y 軸の方向が含まれます。例外として、YAxis プロパティには、2 個のルーラー オブジェクト (y 軸ごとに 1 つ) から成る配列が含まれます。

特定の y 軸の外観や動作は、次のいずれかの方法で変更できます。

  • アクティブな側を設定してから、Axes オブジェクトのプロパティ値を変更する。

  • Axes オブジェクトの YAxis プロパティによってルーラー オブジェクトにアクセスし、ルーラー オブジェクトのプロパティ値を変更する。

座標軸プロパティの変更

2 つの y 軸があるチャートのプロパティを変更するには、Axes プロパティを設定します。

2 つの y 軸があるチャートを作成し、データをプロットします。

x = [1 2 3];
y1 = [2 6 4; 3 5 4; 5 7 8];
y2 = 100*[5 5 3; 3 4 7; 5 6 3];
figure
yyaxis left
plot(x,y1)
yyaxis right
plot(x,y2)

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

それぞれの y 軸の値が増加する方向を反転します。yyaxis left により左側をアクティブにして、左の y 軸の方向を設定します。同様に、yyaxis right を使用して右側をアクティブにします。その後、右の y 軸の方向を設定します。

ax = gca;
yyaxis left
ax.YDir = 'reverse';
yyaxis right
ax.YDir = 'reverse';

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

ルーラー プロパティの変更

2 つの y 軸があるチャートのプロパティを変更するには、ルーラー プロパティを設定します。

2 つの y 軸があるチャートを作成し、データをプロットします。

x = [1 2 3];
y1 = [2 6 4; 3 5 4; 5 7 8];
y2 = 100*[5 5 3; 3 4 7; 5 6 3];
figure
yyaxis left
plot(x,y1)
yyaxis right
plot(x,y2)

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

それぞれの y 軸の値が増加する方向を、各軸に関連付けられたルーラー オブジェクトのプロパティを設定することにより反転します。左側のルーラーを参照するには ax.YAxis(1) を使用し、右側のルーラーを参照するには ax.YAxis(2) を使用します。

ax = gca;
ax.YAxis(1).Direction = 'reverse';
ax.YAxis(2).Direction = 'reverse';

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

既定の色の順序を使用した色の指定

2 つの y 軸があるチャートの色を指定するには、既定の座標軸の色の順序を変更します。

Figure を作成します。2 つの RGB カラー値を定義します。1 つは左側用で、もう 1 つは右側用です。座標軸を作成する前に、既定の座標軸の色の順序をこれらの 2 つの色に変更します。新しい色が Figure fig の子である座標軸のみに反映されるように、Figure レベルで既定値を設定します。新しい色が、他の Figure の座標軸に影響することはありません。次にチャートを作成します。

fig = figure;
left_color = [.5 .5 0];
right_color = [0 .5 .5];
set(fig,'defaultAxesColorOrder',[left_color; right_color]);

y = [1 2 3; 4 5 6];
yyaxis left
plot(y)

z = [6 5 4; 3 2 1];
yyaxis right
plot(z)

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

参考

関数

プロパティ

関連するトピック