独立したxyz座標のデータから三次元等高線図を書くことができますか?
24 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
晶太郎 松井
am 8 Jul. 2021
Kommentiert: 晶太郎 松井
am 8 Jul. 2021
(x,y,z)がそれぞれ独立に決まているデータを用いて三次元等高線図を作成する方法を教えていただきたいです。
添付しているxyz座標のデータで3dグラフ(図1.fig)を描きデータを比較したのですが、複雑で分かりにくいため、等高線でデータを比較したいと考えました。
イメージ図.pngのような三次元等高線図を描きたいと考えています。このような図をmatlabで描くことは可能でしょうか。
解決方法の見当がつく方がいれば、ぜひ助けてほしいです。よろしくお願いいたします。
2 Kommentare
Akzeptierte Antwort
Atsushi Ueno
am 8 Jul. 2021
「X軸811項目:Y軸10項目」とアスペクト比が大き過ぎて、表面プロットが良い感じに見えるようになりませんね。
下の例では、811項目の内20項目まで絞って表面プロットで描画してみました。また対数表示にしたり、色々見た目を変えてみました。同じ事はfigure画面でも可能です(マウスで各種パラメータを変更し、グリグリ回して確認できます)。
load('xyz座標.mat');
[X, Y] = meshgrid(x(1:20),1:10); % ちょっと横着。811項目の内20項目に絞る
Z = [z1 z2 z3 z4 z5 z6 z7 z8 z9 z10]';
Z = Z(:,1:20); % 811項目の内20項目に絞る
s = surf(X,Y,Z);
xlabel ('[Hz]'); ylabel ('[Sec]'); zlabel ('Power');
set(gca,'zscale','log'); % Z軸を対数スケールにする
pbaspect([100 10 100]); % Y軸だけ短いのでアスペクト比を変更する
s.EdgeColor = 'none'; % エッジを非表示にする
colormap('jet'); % カラーマップを表示する
colorbar; % カラーバーを表示する
caxis(gca, [0 1e-6]); % カラーバーの色指定範囲を変更
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu 表面プロットとメッシュ プロット finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!