Main Content

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

2 つの y 軸があるチャートの作成

この例では、関数 yyaxis を使用して、左側と右側に y 軸があるチャートを作成する方法を説明します。また、各軸にラベルを指定し、複数プロットを組み合わせ、片側または両側に関連付けられたプロットをクリアする方法も示します。

左の y 軸に対してデータをプロット

左側と右側に y 軸を 1 本ずつもつ座標軸を作成します。yyaxis left コマンドは座標軸を作成し、左側をアクティブにします。その後に来る plot などのグラフィックス関数は、アクティブな側をターゲットにします。左の y 軸に対してデータをプロットします。

x = linspace(0,25);
y = sin(x/2);
yyaxis left
plot(x,y);

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

右の y 軸に対してデータをプロット

yyaxis right を使用して右側をアクティブにします。次に、一連のデータを右の y 軸に対してプロットします。

r = x.^2/2;
yyaxis right
plot(x,r);

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

タイトルと軸ラベルの追加

yyaxis left コマンドと yyaxis right コマンドを使用して、座標軸のどちらの側をアクティブにするかを制御します。次に、タイトルと軸ラベルを追加します。

yyaxis left
title('Plots with Different y-Scales')
xlabel('Values from 0 to 25')
ylabel('Left Side')

yyaxis right
ylabel('Right Side')

Figure contains an axes object. The axes object with title Plots with Different y-Scales, xlabel Values from 0 to 25, ylabel Right Side contains 2 objects of type line.

各側に対する追加データのプロット

hold on コマンドを使用して、左側にラインを 2 本追加します。右側にエラー バーを追加します。新しいプロットは、対応する y 軸と同じ色を使用し、ライン スタイルを順番に繰り返し使用します。hold on コマンドは、左側と右側の両方に作用します。

hold on

yyaxis left
y2 = sin(x/3);
plot(x,y2);
y3 = sin(x/4);
plot(x,y3);

yyaxis right
load count.dat;
m = mean(count,2);
e = std(count,1,2);
errorbar(m,e)

hold off

Figure contains an axes object. The axes object with title Plots with Different y-Scales, xlabel Values from 0 to 25, ylabel Right Side contains 5 objects of type line, errorbar.

座標軸の片側のクリア

座標軸の右側からデータをクリアするには、最初に右側をアクティブにし、次に cla コマンドを使用します。

yyaxis right
cla

Figure contains an axes object. The axes object with title Plots with Different y-Scales, xlabel Values from 0 to 25, ylabel Right Side contains 3 objects of type line.

座標軸のクリアと右の y 軸の削除

cla reset を使用して、座標軸全体をクリアし、右の y 軸を削除します。

cla reset

Figure contains an axes object. The axes object is empty.

この状態でプロットを作成すると、y 軸は 1 つのみになります。たとえば、単一の y 軸に対して 3 本のラインをプロットします。

xx = linspace(0,25);
yy1 = sin(xx/4); 
yy2 = sin(xx/5); 
yy3 = sin(xx/6);
plot(xx,yy1,xx,yy2,xx,yy3)

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

既存チャートへの 2 番目の y 軸の追加

yyaxis を使用して、2 つ目の y 軸を既存のチャートに追加します。既存のプロットと左の y 軸の色は変わりません。右の y 軸は座標軸の色の順序における次の色を使用します。座標軸に追加された新しいプロットは、対応する y 軸と同じ色を使用します。

yyaxis right
rr1 = exp(xx/6);
rr2 = exp(xx/8);
plot(xx,rr1,xx,rr2)

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

参考

関数

関連するトピック