2次元プロットの plotyy 関数のように、3 次元プロットにて、Z 軸に対して複数のスケ​ールを表示する方法は​ありますか?

14 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 30 Aug 2016
2次元プロットの plotyy 関数のように、3 次元プロットにて、Z 軸に対して複数のスケールを表示する方法を教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 30 Aug 2016
残念ながら、3次元グラフィックスにおいて、Z 軸を複数設定するような機能は、MATLAB 9.0(R2016a) では提供されていません。
代替案として、次の 2 つの方法が考えられます。
1. 全てのデータを1つの Z 軸上に表示できるように、データをスケーリングしてから表示します。
 
% サンプルデータの生成
[x,y,z] = sphere(16);
bigz = z*100;
% グラフ表示
scatter3(x(:),y(:),z(:),'bo')
hold on
scatter3(x(:),y(:),bigz(:)/100,'r*') % スケーリングを併せて表示
2. 非表示の Axes オブジェクトを配置し、それぞれに対してデータを描画します。
% サンプルデータの生成
[x,y,z] = sphere(16);
bigz = z*100;
% グラフ表示
scatter3(x(:),y(:),z(:),'bo')
posAx1 = get(gca,'Position'); % Axes の位置を取得
hAx2 = axes('Position',posAx1); % 別の Axes を同じ位置に作成
scatter3(hAx2,x(:),y(:),bigz(:),'r*') % スケールの異なるデータを表示
set(hAx2,'Visible','off'); % 一方の Axes を非表示に設定
どちらの方法でも、2つのデータセットを同じスケールで表示できるようにしますが、残念ながら、それぞれの軸ラベルを表示することはできません。Z 軸ラベルをそれぞれに表示したい場合には、ラベル表示用の Axes を別に作成する必要があります。

More Answers (0)

Tags

No tags entered yet.

Products


Release

R2013a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!