2017-05-09 8 views

答えて

2

:2つのデータのための

使用権Y軸は2つのy軸をグラフを使って

プロット3つのデータセットを設定します。左のy軸に関連付けられたデータの1組を にプロットします。 2列行列を使用して、右のy軸に に関連付けられた2組のデータをプロットします。私の意見で

x = linspace(0,10); 
y1 = 200*exp(-0.05*x).*sin(x); 
y2 = 0.8*exp(-0.5*x).*sin(10*x); 
y3 = 0.2*exp(-0.5*x).*sin(10*x); 

plotyy(x,y1,[x',x'],[y2',y3']); 
+0

。 – Noah

+0

編集を参照してください。申し訳ありません、試しにコピーしました。 –

+0

色をコントロールする方法はありますか?プロットのハンドルは2つだけ返します。 – Noah

1

、ほとんどの手動制御を与えることこれを行う方法は、あなたが必要なプロットとaxesを重ね3を作成し、唯一の最上位の1のための軸を表示することです。 「空の」軸を作成するだけで、x軸とy軸に定義された「制限」を持つ唯一の軸として機能させることもできます。

例:私は、構文エラーを与えた

ax1 = axes(); 
X1 = linspace(0,8*pi, 100); Y1 = sin(X1); 
plot(X1, Y1, 'r', 'linewidth', 10); 

ax2 = axes(); 
h = ezplot(@(x) x .* sin(x), [-100, 100]); set(h, 'color', 'w'); 

ax3 = axes(); 
image() 

%% place them on top of each other by calling them in the order you want 
axes(ax3); % bottommost 
axes(ax1); 
axes(ax2); % topmost 

set(ax1, 'visible', 'off'); 
set(ax2, 'visible', 'off'); 
set(ax3, 'visible', 'on'); % this is the axes who's limits will show 

enter image description here

+0

問題のある部分は、プロットの1つが、他の3つのプロットが実際にグラフの一番下に直線を形成するような大きなスケールであることです。私は何らかのオートグラフスケーリングを望んでいました。 – Noah

+0

これはまさにポイントです。すべてのプロットは、同じ空間を占めるようになった独立した軸の内側にあるため、独立しています。あなたは 'axis'を呼び出すことができ、それぞれの心臓のコンテンツに対してXとYの制限を個別に設定することができます。 –

+0

(何らかの理由で同じスペースを占有していない場合は、これを 'position'プロパティで手動で指定することができます) –

関連する問題