2次元プロットの plotyy 関数のように、3 次元プロットにて、Z 軸に対して複数のスケールを表示する方法はありますか?
조회 수: 15 (최근 30일)
이전 댓글 표시
MathWorks Support Team
2016년 8월 30일
답변: MathWorks Support Team
2016년 8월 30일
2次元プロットの plotyy 関数のように、3 次元プロットにて、Z 軸に対して複数のスケールを表示する方法を教えてください。
채택된 답변
MathWorks Support Team
2016년 8월 30일
残念ながら、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 を別に作成する必要があります。
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Two y-axis에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!